Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблема с циклом, не могу понять в чем причина...


Автор: reffy 18.10.2009, 19:05
Помогите пожалуйста, никак не пойму в чем причина, не работает и все...
Переменная $cbt_imgPack просто пустая...

Код

$url = '../wp-content/plugins/hello/images';
$i = 0;
if (is_dir($url)) {
    if ($dir = opendir($url)) {
        while (false !== ($file = readdir($dir))) {
            if ($file != "." && $file != "..") {
                $array[$i] = $file;
                $i++;
            }
        }
        closedir($dir);
    }
}
shuffle($array);
$cbt_imgPack = $array[0];

Автор: Ипатьев 18.10.2009, 19:23
первое условие выполняется?

Автор: Noviy 18.10.2009, 19:24
Код

while (false !== ($file = readdir($dir))) {

Попробуй исправить на
Код

while (false != ($file = readdir($dir))) {

Это то, что сразу бросилось в глаза.

Автор: Ипатьев 18.10.2009, 19:39
Noviy, зачем?

Автор: capitan 18.10.2009, 21:12
Дано не работал  с opendir(). Для работы с обходом папок и файлов использую glob().  Но судя по документации, в которой есть даже пример:
http://ru2.php.net/manual/en/function.opendir.php

Проблема видимо тут:
Код

$url = '../wp-content/plugins/hello/images';


Нет последнего слеша:
Код

$url = '../wp-content/plugins/hello/images/';


Это во-первых. А во-вторых,- перед тем как что-то писать в массив $array, я бы его все таки определил перед этим (перед началом цикла):
Код

$array = array();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)