Приветствую, славные жители форума! Столкнулся тут с забавной багой. Есть сайт - простыня одностраничная, написанная на чистом хтмл. Как это часто бывает, задуманное одностраничной простынёй ВНЕЗАПНО потребовало расширения, и ожидается страниц этак около тридцати. Передо мной замаячил призрак сайта одного нашего клиента, у которого на чистом хтмле нафигачен сайт на 100+ страниц, и небольшая правка в виде добавления яндекс.метрики превратилась там в огромный геморрой. Искоса поглядывая в сторону цмсок, на которые это можно посадить, я пока что озаботился неким временным решением проблемы. Итак, код, простой до примитивности. Есть файл определений definitions.php со следующим содержанием: Код (Text): <?php $path = "http://адрессайта.ru"; $bp = $path.'/bodyparts/'; $top = file_get_contents($bp.'/top.php'); $bottom = file_get_contents($bp.'/bottom.php'); $misc = file_get_contents($bp.'/misc.php'); $counters = file_get_contents($bp.'/counters.php'); ?> В папке bodyparts, соответственно, находятся запчасти, которые предполагается выводить в нужном месте страницы методом Код (Text): <?php echo $запчасть; ?> (слегка напоминает вордпресс, гы ) А теперь, собственно, о проблеме. Дело в том, что части $counter(счётчики) и $misc(прочая фигня) выводятся внутри подвала $bottom: Код (Text): <div class="footer"> <div class="footer-in"> <div class="copyright"> ... </div> <?php echo $counters; echo $misc; ?> </div> </div> И почему-то именно здесь echo не работает. Вернее, работает, но выводит пустую строку вместо содержимого соответствующих файлов. При том, что аналогичный код, размещённый, к примеру, в index.html, отрабатывает корректно. Также я заметил, что некоторые другие переменные из definitions работают нормально, например, код Код (Text): <?php $counters = file_get_contents($bp.'counters.php'); echo $counters; $misc = file_get_contents($bp.'misc.php'); echo $misc; ?> помещённый в bottom, вполне работает, то есть переменная $bp выдаёт значение верно... Короче, то ли лыжи не едут, то ли я...
идея: проверить права доступа. может быть функция не может его прочесть. один не может, а другие может.
...загадочно После замены на include стал нормально работать $counters, но $misc по прежнему теряет значение(ошибка Warning: include() [function.include]: Filename cannot be empty) Фигня какайто... UPD Ахаха, какой тупой косяк! Переменная misc уже была объявлена и использовалась формой обратной связи %)