Нужно сделать список файлов из папки <?php $dh = opendir("images/temp"); while (false !== ($filename=readdir($dh))) { echo 'images/temp/'.$filename.', '; } ?> получается: images/temp/., images/temp/.., images/temp/Untitled-1 - Copy (2).png, images/temp/Untitled-1 - Copy (3).png, images/temp/Untitled-1 - Copy.png, images/temp/Untitled-1.png, не получаеться убрать первые два images/temp/., images/temp/.., и запятую в конце всей строки спасибо!
Код (PHP): $files = array(); $dh = opendir("images/temp"); while (false !== ($filename = readdir($dh))) { if ($filename=='.' || $filename=='..') continue; $files[] = $filename; } echo '<pre>'; print_r($files);
Проверить что не является директрорией через функцию is_file. И поправить: Код (Text): $flist = array(); while (false !== ($filename=readdir($dh))) { $flist[] = 'images/temp/'.$filename; } // объединить эл-ты массива в строку echo implode(", ", $flist); или просто не добавлять запятую если на последнем эл-те находимся. я бы сделал через implode =) Добавлено спустя 38 секунд: Меня опередили
Gennadiy, это не первый ваш пост здесь. Вы правда не знаете про тег [ code=php ] ? Это элементарная вежливость. Будет удобнее вам помогать если Вы оформите всё правильно. Код (PHP): <?php $dh = opendir("images/temp"); $filenames = array(); while (false !== ($filename=readdir($dh))) { if ($filename{0} != '.') $filenames[] = $filename; } closedir($dh); echo implode(', ', $filenames); P.S. LOL ))) опередили аж двое. мой пример правильнее тем, что 1. я не забыл закрыть хэндл. формально так правильнее. 2. кроме коварных "." и ".." есть целое семейство файлов и папок, которые не принято светить. в мире Юникс их имена начинаются с точки. автор не говорил, что надо отбрасывать имена папок, поэтому они сюда попадут, если встретятся. а вообще можно их отсечь с помощью функции is_file() или is_dir().
Код (PHP): define('SLASH',DIRECTORY_SEPARATOR); # \ define('DIRECTORY',dirname(__FILE__).SLASH); Код (PHP): foreach(glob(DIRECTORY.'images'.SLASH.'*.png') as $val) { echo nl2br('dirname: '.DIRECTORY.' file: '.basename($val).' '); } Код (PHP): foreach(glob(DIRECTORY.'images'.SLASH.'*') as $val) { $file=getimagesize($val); if($file) { echo nl2br('dirname: '.DIRECTORY.' file: '.basename($val).' type: '.$file['mime'].' ......................... '); } }
спасибо glob помогло невыходит с удалением последнего символа Код (Text): $strpatch = $image.', '; $str = $strpatch; echo substr($str, 0, -1); удаляеться запятая в конце каждой переменной Код (Text): images/temp/1.png,images/temp/2.png,images/temp/3.png,images/temp/4.png, нужно в конце всей строки Код (Text): images/temp/1.png, images/temp/2.png, images/temp/3.png, images/temp/4.png
Код (PHP): $flist = array(); while (false !== ($filename=readdir($dh))) { $flist[] = 'images/temp/'.$filename; } // объединить эл-ты массива в строку. echo implode(", ", $flist); Получишь список через запятую как нужно.
Естественно так не будет работать: Код (PHP): foreach(glob('images'.SLASH.'*.png') as $val) { $val=$val.','; echo substr($val,0,-1); } А так будет: Код (PHP): $value=''; foreach(glob('images'.SLASH.'*.png') as $val) { $value.=$val.','; } echo substr($value,0,-1);