@denis_skripnik

Как определить причину отсутствия захвата переменных из файла?

Здравствуйте. В index.php у меня производится поиск файлов с определённым названием в разных папках. Они содержат переменные.

Первые 3 работают нормально, а вот поиск по четвёртой папке - нет. Ошибок о том, что путь неверный не выводится (Если изменить адрес, она появляется), но значения переменных не подгружаются на страницу.

Код :
<?php
// Подключение файлов с переменными, содержащими настройки сайта и персоны (Автора или компании):
require_once('/vars/Basic.php');
require_once('/vars/person.php');

// Сканирование папки pages с подключением vars.php:
$dirs=scandir($pages_dir);for($i=0;$i<count($dirs);$i++)
if(($dirs[$i]!=".")&&($dirs[$i]!=".."))
require_once($pages_dir.$dirs[$i].'/vars.php');

// Сканирование папки blog с подключением vars.php категории:
$cat_dirs=scandir($blog_cats_dir);for($q=0;$q<count($cat_dirs);$q++)
if(($cat_dirs[$q]!=".")&&($cat_dirs[$q]!=".."))
require_once($blog_cats_dir.$cat_dirs[$q].'/vars.php');

// Сканирование папки blog с подключением vars.php записи:
$post_dirs=scandir($blog_posts_dir);for($w=0;$w<count($post_dirs);$w++)
if(($post_dirs[$w]!=".")&&($post_dirs[$w]!=".."))
require_once($blog_posts_dir.$post_dirs[$w].'/vars.php');

// Название и папка шаблонов:
$template_name = 'default';
$template_dir = 'templates/'.$template_name;
require_once($template_dir.'/index.php');
?>


Код файла с переменными:
<?php
$post_link['/version-01']='Версия 0.1';
if($_GET['posts']== version-01){
	$page_title = "Публикую версию 0.1";
$meta_keywords = "Версия, 0.1, программа";
$meta_description = "Узнайте, что из себя представляет программа в версии 0.1!";
$h1 = 'Версия 0.1';
$post_date = date("d F Y", filectime('text.php'));
$post_cat['/news'] = 'Новости';
}
?>


в basic.php прописаны следующие переменные для index.php:
$pages_dir = $_SERVER['DOCUMENT_ROOT'].'/pages/';
$blog_cats_dir = $_SERVER['DOCUMENT_ROOT'].'/blog/Categories/';
$blog_posts_dir = $_SERVER['DOCUMENT_ROOT'].'/blog/posts/';

P.S. Даже если я прописываю так:
require_once('/blog/posts/version-01/vars.php');
Все равно title, h1, $post_cat, отвечающий за выбор категории, не выбирается.
Благодарю за ответ.
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 2
rpsv
@rpsv
делай либо хорошо, либо никак
1. отформатируйте нормально код (например: PSR)
2. раскидайте все по функциям
3. что вообще происходит?!
$_GET['posts']== version-01
В этом отрезке у вас version приводится к строке, а затем вычитается из 01 и сравнивается с GET параметром. Явно не то что вы хотели получить. Кавычки поставьте.

---
Собственно когда вы код приведете в порядок, и сами будете понимать что происходит, тогда и вопросы у вас должны будут пропасть.
Иначе грусть.
А разбирать ваш пахнущий код вряд ли кто-то будет.
Ответ написан
@denis_skripnik Автор вопроса
Проблема решена. Благодарю Илья за подсказку по поводу проставления кавычек. . Сделал - всё стало нормально.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы