За последние 24 часа нас посетили 18654 программиста и 1599 роботов. Сейчас ищут 1019 программистов ...

Вывод всех изображений из заданной директории

Тема в разделе "Обработка изображений средствами PHP", создана пользователем Zerox, 19 янв 2010.

  1. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    простейший пример
    Код (Text):
    1. $patern = '*.jpg';
    как сделать его для нескольких разных расширений - в мануал.
     
  2. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    мда...все равно спасибо
     
  3. WarGot

    WarGot Активный пользователь

    С нами с:
    8 янв 2010
    Сообщения:
    55
    Симпатии:
    0
    С регуляркой получается

    PHP:
    1.  
    2. preg_match('|.*\.(\S+)|', $var, $file_type);
    3.  
    без неё наверное можно вот так:

    PHP:
    1.  
    2. <?php
    3. $file_type = explode(".",$var);
    4. $file_type = array_pop($file_type);
    5. ?>
    6.  
    поправьте если ошибся, самому просто интересно стало -)
     
  4. Howl

    Howl Активный пользователь

    С нами с:
    16 фев 2010
    Сообщения:
    90
    Симпатии:
    0
    привет всем!
    прочитал все посты, делаю:

    PHP:
    1. <?php
    2. $dirname = "images/";
    3. $scan    = scandir("$dirname");
    4. $ftypes  = "*.jpg";
    5.  
    6.  foreach ($scan as $filename){
    7.      if (is_file($filename) && fnmatch($ftypes, $filename)){
    8.         echo "<img src='$filename'>";
    9.      }
    10.  }
    11. ?>
    но ничего не выходит, пустая таблица и все. укажите на ошибку пожалуйста.
     
  5. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Можно и так.
    PHP:
    1. <?
    2. foreach (glob('images/*.jpg') as $filename){
    3.     echo '<img src="'.$filename.'" />';
    4. }
    А пустая таблица потому что в адресной строке небось что-нить типа example.com/folder/, а папка images в корне.

    PHP:
    1. <?
    2. foreach (glob('images/*.jpg') as $filename){
    3.     echo '<img src="http://example.com/'.$filename.'" />';
    4. }
     
  6. Howl

    Howl Активный пользователь

    С нами с:
    16 фев 2010
    Сообщения:
    90
    Симпатии:
    0
    с глоб все выводится, но, как я понял, скан лучше?)
    и вот у меня еще 2 затруднения:
    1. нужно чтобы картинки выводили по 3 на строчку
    2. поддержка нескольких расширений, чтобы ресширения типа .php .html и т.п. не выводились

    можно ли это как-то сделать? искал через гугл, ничего подходящего не нашел...

    и, было бы неплохо, пример, в каких случаях можно перечислять расширения, а главное КАК? :)
     
  7. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    glob() лучше.

    1. http://htmlbook.ru/css/float.html CSS свойство float поможет. Указывай в процентах. Чистая логика: 25% выведет по четыре картинки на строку, 33% - по три, 50% - по две. сли хочешь средствами PHP, то используй кратность: 4%2 == 0 значит 4 кратно двум. В цикле (в foreach делай as $k => $filename, $k будет индексом): если $k % 2 == 0, то выводи <br />.

    2. http://ru.php.net/glob - смотри флаги, а именно флаг GLOB_BRACE: {jpg,jpeg,gif,png}.
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    lexa
    С каких пор float в процентах?
     
  9. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    [vs], тьфу, width к ниму в процентах, конечно. Не спал я, чо. :)
     
  10. Howl

    Howl Активный пользователь

    С нами с:
    16 фев 2010
    Сообщения:
    90
    Симпатии:
    0
    lexa, ОГРОМНОЕ спасибо!