простейший пример Код (Text): $patern = '*.jpg'; как сделать его для нескольких разных расширений - в мануал.
С регуляркой получается PHP: preg_match('|.*\.(\S+)|', $var, $file_type); без неё наверное можно вот так: PHP: <?php $file_type = explode(".",$var); $file_type = array_pop($file_type); ?> поправьте если ошибся, самому просто интересно стало -)
привет всем! прочитал все посты, делаю: PHP: <?php $dirname = "images/"; $scan = scandir("$dirname"); $ftypes = "*.jpg"; foreach ($scan as $filename){ if (is_file($filename) && fnmatch($ftypes, $filename)){ echo "<img src='$filename'>"; } } ?> но ничего не выходит, пустая таблица и все. укажите на ошибку пожалуйста.
Можно и так. PHP: <? foreach (glob('images/*.jpg') as $filename){ echo '<img src="'.$filename.'" />'; } А пустая таблица потому что в адресной строке небось что-нить типа example.com/folder/, а папка images в корне. PHP: <? foreach (glob('images/*.jpg') as $filename){ echo '<img src="http://example.com/'.$filename.'" />'; }
с глоб все выводится, но, как я понял, скан лучше?) и вот у меня еще 2 затруднения: 1. нужно чтобы картинки выводили по 3 на строчку 2. поддержка нескольких расширений, чтобы ресширения типа .php .html и т.п. не выводились можно ли это как-то сделать? искал через гугл, ничего подходящего не нашел... и, было бы неплохо, пример, в каких случаях можно перечислять расширения, а главное КАК?
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}.