Отображение картинок из дериктории

Статус
В этой теме нельзя размещать новые ответы.

Kosti@n

Новичок
Отображение картинок из дериктории

Подскажите, как сделать, чтобы на странице отображались все картинки из директории pictures?
 

Kosti@n

Новичок
Гравицапа, смешно, но я имею в виду средствами php вывести содержимое дериктории, а именно картинки. Просто они будут регулярно добавляться
 

Гравицапа

elbirret elcno
Kosti@n
На каком этапе проблемы? Ты не можешь вывести картинку?
Ты не можешь получить список файлов в директории?
 

Kosti@n

Новичок
Не картинки. Есть папка pictures. В ней картинки. Нужно, чтобы они все отобразились на странице.
 

donflash

Вареник клуба
блин, юзай [m]dir[/m], а потом вывод какртинок через цикл и всё! В чём проблема???
 

phprus

Moderator
Команда форума
Kosti@n
Тебе уже сказали все, что нужно для написания кода. Если ты хочешь, чтобы код написали за тебя то ты ошибся разделом форума.
 

donflash

Вареник клуба
Вот тебе примерчик.....

Пример для php 5.x.x:

PHP:
$dirs = scandir('som_dir');

foreach ($dirs as $dir)
{
 if ($dir != '.' && $dir != '..')
 {
  echo '<img src="'.$dir.'"><br>';
 }
}
 

phprus

Moderator
Команда форума
donflash
Этот пример немного неправильный.

Внутри цикла в переменной $dir содержится только имя файла и соответственно путь к нему тоже надо выводить (путь не в файловой системе, а тот по которому доступна эта папка в интернете).
 

donflash

Вареник клуба
phprus, конечно, я это понимаю.... просто я увидел твой предыдущий пост и решил написать пример с неточностью, чтобы он сам ео всё-таки добил....:)
 

phprus

Moderator
Команда форума
donflash
Примеры с фактическими ошибками (В смысле ошибками в алгоритме например, или как тут что нет указания на необходимость прописывания пути) ИМХО лучше не давать, так как это повлечет за собой только непонимание от чего код работает, но не так. ИМХО лучше добавить пару синтаксических ошибок, тогда в случае появления вопросов почему код не работает человека можно просто посылать в документацию, так как сразу будет видно, что он просто скопировал данный код и так ничего и не понял (или не захотел понять).
 

Kosti@n

Новичок
вот додумался я написать такой скриптик:

<?

$handle = opendir('pic') or die("Папка не найдена!");
while (false !== ($file = readdir($handle) ) ){
$kav = '"';
echo "<img src=$kav.$handle.'/'.$file.$kav><br>";
}
closedir($handle);


?>

но почему-то на странице поя вляются какие-то пустые рисунки, когда я смотрю их свойства,
адрес получается вот такого содержания - "http://test/23/.Resource%20id", в чём проблема?
 

phprus

Moderator
Команда форума
Kosti@n
Внутри цикла нужно обезательно делать проверку имени файла на: ($dir != '.' && $dir != '..') и в случае выполнения этого условия переходить на следующую итерацию цикла. Кроме этого readdir возвращает и имена каталогов, соответственно нужно проверять то что она возвращает и учитывать только имена файлов.

Картинки наверное имеют вполне определенные расширения, слевовательно выводить нужно только те файлы расширение которых совпадает с одним из допустимых расширений картинок.

Суммируя вышесказанное можно сделать вывод что для таких целей лучше использовать функцию [m]glob[/m] в параметре которой можно задать условие которое будет сразу отбирать для выдачи только файлы с нужными расширениями.
 

Kosti@n

Новичок
phprus, последовал твоему совету, сделал так:
<?
foreach (glob("pic/*.jpg") as $filename) {
$dir="pic/";
echo '<img src="$dir.$filename"><br>';
}
?>
чёт всё-равно не получается, в чём теперь проблема, скажи пожалуйста
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху