php directoryIterator - путь в зависимости от сезона? - PullRequest
1 голос
/ 29 апреля 2011

Эй, ребята, это отлично работает:

$dir = new DirectoryIterator(get_template_directory().'/images/headers/');

однако у меня нет только / headers, но у меня есть каталог / headers / summer и headers / winter, который я хочу использовать в качестве пути в зависимости оттекущий сезон.

$summer = array(3,4,5,6,7,8,9);

$path = null;

if ( in_array(date('n'), $summer) ) {
    $path = get_template_directory().'/images/headers/summer/';
} else {
    $path = get_template_directory().'/images/headers/winter/';
}

$dir = new DirectoryIterator($path);

Что с этим не так?Моя страница пуста, если я использую это!

Ответы [ 3 ]

2 голосов
/ 29 апреля 2011

Я думаю, что есть 3 варианта.

  1. $ path не существует, проверьте с помощью if(!is_dir($path)) die('no dir there');

  2. вашей функции get_template_directoryбросает фатальный

  3. вы используете PHP4, где класс DirectoryIterator не существует

1 голос
/ 29 апреля 2011

Я думаю, что это должно работать нормально, мне интересно, почему вы получаете белый экран.Это обычно происходит, когда вы получаете фатальную ошибку, и ваш error_reporting не установлен правильно.

Пожалуйста, установите для error_reporting значение E_ALL:

error_reporting(E_ALL);
ini_set('display_errors', true);

Это должно отображать любую ошибку, которая происходит.

0 голосов
/ 29 апреля 2011

Похоже, у вас не включены отчеты об ошибках.Выполните error_reporting(E_ALL) в своем скрипте или найдите ошибку в журналах apache.

Вы можете получить ошибку позже на странице, потому что вы предполагаете разные вещи относительно содержимого (может быть, пустой каталог?) Или неправильные правав каталоге (от http://www.php.net/manual/en/directoryiterator.construct.php):

Throws an UnexpectedValueException if the path cannot be opened.

Но без подробностей об ошибке это только предположение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...