Php 检查多个图像扩展?

Php 检查多个图像扩展?,php,Php,我想通过删除文件扩展名来格式化图像目录。我使用的是basename(),但我只能检查一个后缀。如何使用下面的代码检查.png和.jpeg?这里可以使用正则表达式吗 function sanitize_items($value) { $base = basename(strtolower($value), '.jpg'); $temp = explode('-', $base); return $temp[0]; } foreach ($list[1] as $f) {

我想通过删除文件扩展名来格式化图像目录。我使用的是
basename()
,但我只能检查一个后缀。如何使用下面的代码检查
.png
.jpeg
?这里可以使用正则表达式吗

function sanitize_items($value) {
    $base = basename(strtolower($value), '.jpg');
    $temp = explode('-', $base);
    return $temp[0];
}

foreach ($list[1] as $f) {
    $file_sanitized[sanitize_items($f)] = $f;
}
尝试
pathinfo()

改用:


让你的生活变得轻松-使用glob():


if(preg#u match('#\(png | jpe?g | gif | bmp)$#i',$filePath)){//Yay}
@user2930185:我更新了答案以包含
分解
——但到底什么不起作用?“不工作”到底是什么意思?
$ext = pathinfo($value, PATHINFO_EXTENSION);
return str_replace('.'.$ext, '', $value);
$temp = explode('-', pathinfo($value, PATHINFO_FILENAME));
return strtolower($temp[0]);
$pictures = glob("/your/path/*{jpg,png,gif}", GLOB_BRACE);

$result = array();
foreach ($pictures as $pic) {
    $tmp = pathinfo($pic);
    $result[] = $tmp['filename'];
}

var_dump($result);