Этот код работает для меня только для получения изображений и без учета регистра.
список иммигрантов:
- image1.Jpg
- image2.JPG
- image3.jpg
- image4.GIF
$imageOnly = '*.{[jJ][pP][gG],[jJ][pP][eE][gG],[pP][nN][gG],[gG][iI][fF]}';
$arr_files = (array) glob($path . $imageOnly, GLOB_BRACE);
Возможно, это выглядит некрасиво, но вам нужно только объявить $ imageOnly один раз и использовать его при необходимости. Вы также можете объявить $ jpgOnly и т. Д.
Я даже сделал функцию для создания этого шаблона.
/*--------------------------------------------------------------------------
* create case insensitive patterns for glob or simular functions
* ['jpg','gif'] as input
* converted to: *.{[Jj][Pp][Gg],[Gg][Ii][Ff]}
*/
function globCaseInsensitivePattern($arr_extensions = []) {
$opbouw = '';
$comma = '';
foreach ($arr_extensions as $ext) {
$opbouw .= $comma;
$comma = ',';
foreach (str_split($ext) as $letter) {
$opbouw .= '[' . strtoupper($letter) . strtolower($letter) . ']';
}
}
if ($opbouw) {
return '*.{' . $opbouw . '}';
}
// if no pattern given show all
return '*';
} // end function
$arr_extensions = [
'jpg',
'jpeg',
'png',
'gif',
];
$imageOnly = globCaseInsensitivePattern($arr_extensions);
$arr_files = (array) glob($path . $imageOnly, GLOB_BRACE);