При запуске этого кода:
echo ("<div style=\"text-align:center\">" . include ('temp-2.php') . "</div>\n");
(который я скопировал из вашего примера, меняя только имя файла)
Я получаю это предупреждение:
Warning: include(temp-2.php</div> ) [function.include]: failed to open stream: No such file or directory
Не уверен, что ()
для директивы include
делает то, что вы ожидаете ...
На самом деле, пример # 4 на странице справки include выглядит так, как будто это может объяснить это:
<?php
// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')
if (include('vars.php') == 'OK') {
echo 'OK';
}
// works
if ((include 'vars.php') == 'OK') {
echo 'OK';
}
?>
И, действительно, переписав свой код так:
echo ("<div style=\"text-align:center\">" . (include 'temp-2.php') . "</div>\n");
Работает намного лучше: без предупреждения - и файл действительно включен правильно.
Как примечание: если вы получаете белый экран, возможно, это из-за того, что ваша конфигурация «скрывает» ошибки и предупреждения - что не очень хорошо для среды разработки: их отображение может немного вас остановить.
Чтобы изменить это, вы можете использовать опции error_reporting
и display_errors
в вашем файле php.ini.
Или, если у вас нет доступа к этому, вы можете использовать error_reporting
и ini_set
- что-то подобное в начале вашего сценария может делать:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
Примечание: конечно, вы не хотите, чтобы в вашей производственной среде вы регистрировали ошибки (см. log_errors
), а не отображали их.