Бьюсь уже 2й день, ничего не лезет в голову...
В общем, есть вот такой кусок кода:
$images=array();// инициализируем массив
img_for_objects("apanel/photos/".$row[3]);//вызываем функцию;
echo '//выводим имаги...
<div class="left2"><div class="shadow"><div class="corner_lb"><div class="corner_rt">
<img class="img_border" src="apanel/photos/'.$row[3].'/'.$images[1].'" width="250" height="200" alt="'.$row[1].'">
</div></div></div></div>
';
функция выглядит так:
<?php
function img_for_objects($url)
{
$dir=opendir($url);
$images=array();
while ($file=readdir($dir))
if($file!="." && $file!="..")
{
$rasshir = substr($file, strrpos($file, '.') + 1);
if($rasshir=="jpg" || $rasshir=="JPG")
$images[]=$file;
}
closedir($dir);
}
?>
Но это все не пашет... просто напросто выводит вот что:
Notice: Undefined offset: 1 in ...
Что самое интересное, вот так все прекрасно пашет:
$url= "apanel/photos/".$row[3]."/";
$dir=opendir($url);
$images=array();
while ($file=readdir($dir))
if($file!="." && $file!="..")
{
$rasshir = substr($file, strrpos($file, '.') + 1);
if($rasshir=="jpg" || $rasshir=="JPG")
$images[]=$file;
}
echo'
<div class="shadow left2"><div class="corner_lb"><div class="corner_rt">
<img class="img_border" src="apanel/photos/'.$row[3].'/'.$images[1].'" width="250" height="200" alt="'.$row[1].'">
</div></div></div>
';
Подскажите плиз, почему у мну не работает... почему я не могу получить элемент массива...
Спустя 1 час, 33 минуты, 43 секунды (14.11.2009 - 01:04) kirik написал(а):
brainraider
читал?
читал?
Спустя 17 минут, 1 секунда (14.11.2009 - 01:21) John_761 написал(а):
Я думаю проблема в том, что массив $images[] локален для твоей функции, возвращай массив
Спустя 11 минут, 47 секунд (14.11.2009 - 01:32) krasilich написал(а):
John_761 Все сказал, вот код
function img_for_objects($url)
{
$dir=opendir($url);
$images=array();
while ($file=readdir($dir))
if($file!="." && $file!="..")
{
$rasshir = substr($file, strrpos($file, '.') + 1);
if($rasshir=="jpg" || $rasshir=="JPG")
$images[]=$file;
}
closedir($dir);
return $images;
}
$images=img_for_objects("apanel/photos/".$row[3]);//вызываем функцию;
echo '//выводим имаги...
<div class="left2"><div class="shadow"><div class="corner_lb"><div class="corner_rt">
<img class="img_border" src="apanel/photos/'.$row[3].'/'.$images[1].'" width="250" height="200" alt="'.$row[1].'">
</div></div></div></div>
';
Спустя 9 минут, 20 секунд (14.11.2009 - 01:42) brainraider написал(а):
Огромное спасибо! Хотел вот только попросить объяснить глупому новичку логику работы ЭТОГО =))) впервые вижу такой подход...
Заранее благодарен!
Заранее благодарен!
Спустя 1 час, 42 минуты, 48 секунд (14.11.2009 - 03:25) kirik написал(а):
Цитата (http://ca.php.net/manual/en/function.readdir.php) |
/* This is the WRONG way to loop over the directory. */ while ($file = readdir($handle)) { echo "$file\n"; } |
Спустя 8 минут, 57 секунд (14.11.2009 - 03:33) brainraider написал(а):
kirik, see_man пасибки огромное:
Тока объясните как работает ретерн =)))) А то я написать написал, а понять не понял=)))
<?php
function img_for_objects($url)
{
$dir=opendir($url);
$images=array();
while (false!==($file=readdir($dir)))
if($file!="." && $file!="..")
{
$rasshir = substr($file, strrpos($file, '.') + 1);
if($rasshir=="jpg" || $rasshir=="JPG")
$images[]=$file;
}
closedir($dir);
return $images;
}
?>
Тока объясните как работает ретерн =)))) А то я написать написал, а понять не понял=)))
Спустя 7 часов, 36 минут, 14 секунд (14.11.2009 - 11:10) ИНСИ написал(а):
function img_for_objects($url)
{
$images = array(); // создаем массив, в котором будут все фотки
........
return $images; // возвращаем весь результат, который мы получили
}
$images = img_for_objects("apanel/photos/".$row[3]); // функция return $images присваивает содержимое которое в ней в $images
Спустя 2 часа, 11 минут, 14 секунд (14.11.2009 - 13:21) brainraider написал(а):
Спасибо =)
Спустя 52 минуты, 6 секунд (14.11.2009 - 14:13) krasilich написал(а):
Цитата (kirik @ 14.11.2009 - 00:25) | ||
see_man А ты читал? ![]()
|
kirik, таки заставил прочитать
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
_____________
Там где есть новички, есть и двигатель прогресса!!!
Ну, если не сказать больше=)