[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с областью видимости
brainraider
Доброго времени суток, форумчане и форумчанки!

Итак, хотелось бы попросить вас о помощи:

Есть файлик пхп, в котором есть вот такой код

бла бла бла

elseif(!empty($_GET['code']) && $_GET['photos']=='do')
{

$url= "../apanel/photos/".$_GET['code']."/all"; //путь к дирректории
$dir=opendir($url);
while ($file=readdir($dir))
{
if($file!="." && $file!="..")
{
$images[]=$file;
}
}

closedir($dir);
$num=count($images);
for($i=0;$i<=$num-1;$i++)
{
echo '
<div class="float">
<img src="'
.$url.'/'.$images[$i].'" alt="1213" width="306" height="235">
</div>
'
;
}
}

бла бла бла



А, собственно, проблема в следующем:
выпадает ошибка:
Notice: Undefined variable: images in путь_к_файлу\houses.php on line 214

Если есть у кого-нибудь какие-либо соображениия - буду мегопризнателен=)
Заранее огромное спасибо!!!

З.Ы. перепробывал все что мог, перечитал дофига инфы - но ниче не смог сделать. Впринципе, понимаю ошибку - переменная не определена, т.е. я просто использую переменную вне зоны ее видимости.
пытался прописывать глобал перед $num=count($images);
потом писал эхо $нум - выдавало все раавно 0.

З.Ы.З.Ы. Новичек просит помощи - подкорректируйте код плиз=))))) Ещё раз заранее благодарен=)



Спустя 5 часов, 54 минуты, 53 секунды (6.11.2009 - 09:05) Michael написал(а):
Просто вот эта строка ни разу не выполняется:
$images[]=$file;

может url не верный и т.д.
поэтому перед циклом инициализируй $images:
$dir=opendir($url);
$images = array();
while ($file=readdir($dir))
// ...


Спустя 43 минуты, 31 секунда (6.11.2009 - 09:48) Dezigo написал(а):
 if($file!="." && $file!="..")

-это не выполняется поэтому у тебя images - не присвоена не чему.
Michael не верно. [] - в php даёт понять,что это массив.

$images[]; это тоже самое что $images = array();

Спустя 17 минут, 34 секунды (6.11.2009 - 10:06) Michael написал(а):
Dezigo, условие то выполняется, а вот вложенный код при ложном условии не выполняется .
Хотя это условие - чтоб отсечь точки при сканировании - отсечет только если папка пустая.
Короче инициализировать по любому до цикла надо.

Спустя 1 минута, 23 секунды (6.11.2009 - 10:07) brainraider написал(а):
2Michael: ссылку перепровверял еще до того как написать здесь.
2Dezigo: перекручивал код как только мог (убирал условие:
     while ($file=readdir($dir))
{
$images[]=$file;
}

, даже пытался инициализировать имажисы через аррэй()) все равно $num выдает 0. Да ошиибка пропадает, но вот только в массив не забиваются файики=(.

Спустя 6 минут, 35 секунд (6.11.2009 - 10:14) Michael написал(а):
проверь сначала $url так:
if (is_dir($url)) echo 'OK';
else echo 'not OK';

Спустя 4 минуты, 2 секунды (6.11.2009 - 10:18) Michael написал(а):
вообще строка 214 это вот эта
$num=count($images);   

?

 if($file!="." && $file!="..")

- это убирать не надо.

Спустя 56 секунд (6.11.2009 - 10:19) Dezigo написал(а):
напиши в цикле вывод переменой текущего файла.

 while ($file=readdir($dir))
{
$images[]=$file;
echo $file;
}

выводит?

Спустя 22 секунды (6.11.2009 - 10:19) brainraider написал(а):
=((((((( я - роман Достаевского......
скрипт тестер лежал в папке отдельной, а рабочий валялся в корне....

../apane/ - должно было быть в тестовом, а у мну щас apanel/....


Большое спасибо!!!!!!!!!!!!! И мега респект!!!!!!! Да, и прошу прощения, что так глупо потратил ваше время...


_____________
Там где есть новички, есть и двигатель прогресса!!!
Ну, если не сказать больше=)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.