2015-02-08 5 views
1

Я хочу иметь список только файлов изображений в определенной папке. Я попытался это, но не работает для всех файлов:как перечислить все файлы изображений в папке?

$files = scandir("/folder/"); 
foreach($files as $file) { 
    if (substr($string, -4) == '.jpg'){ 
    $f[] = $file; 
} 

Что бы правильно?

+2

вы читали и пытались некоторые из многих учебников доступны? Кроме того, есть ответы на здесь, которые могут помочь с уже существующими функциями PHP ... 'glob()' ... – Kinnectus

+0

спасибо. я не знал о glob() –

ответ

2

Сначала получите все файлы, но не оставляйте их, начиная с "." Тогда простой preg_match, чтобы получить все файлы изображений

$files = array_diff(scandir("/folder/"), array(".", "..")); 

$images = array() 
for ($file in $file){ 
if (preg_match("/\.(jpg|jpeg|png)$/", $file)){ 
    $images[] = $file; 
} 
} 

или

$images = glob("/folder/*.{jpg,gif,png,jpeg}", GLOB_BRACE); 
Смежные вопросы