引言
一、验证图片文件名格式
<?php
function isValidImageFilename($filename) {
$pattern = '/\.(jpg|jpeg|png|gif|bmp)$/i';
return preg_match($pattern, $filename) === 1;
}
// 示例
$filename = "image123.jpg";
if (isValidImageFilename($filename)) {
echo "文件名有效:{$filename}";
} else {
echo "文件名无效:{$filename}";
}
?>
在这个例子中,isValidImageFilename 函数使用 preg_match 函数和正则表达式 /(jpg|jpeg|png|gif|bmp)$/i 来检查文件名是否以 .jpg、.jpeg、.png、.gif 或 .bmp 结尾。i 参数表示不区分大小写。
二、从文件名中提取图片信息
<?php
function extractImageNumber($filename) {
$pattern = '/^(\d+)\./';
if (preg_match($pattern, $filename, $matches)) {
return $matches[1];
}
return null;
}
// 示例
$filename = "image123.jpg";
$imageNumber = extractImageNumber($filename);
if ($imageNumber !== null) {
echo "图片编号:{$imageNumber}";
} else {
echo "无法提取图片编号";
}
?>
在这个例子中,extractImageNumber 函数使用正则表达式 /^(\d+)\./ 来匹配文件名开头的数字。如果匹配成功,它将返回匹配的数字。
三、转换文件名格式
<?php
function convertImageFilename($filename) {
$pattern = '/^(\w+)\.jpg$/i';
if (preg_match($pattern, $filename, $matches)) {
return $matches[1] . '_png';
}
return $filename;
}
// 示例
$filename = "image123.jpg";
$convertedFilename = convertImageFilename($filename);
echo "转换后的文件名:{$convertedFilename}";
?>
在这个例子中,convertImageFilename 函数使用正则表达式 /^(\w+)\.jpg$/i 来匹配以 .jpg 结尾的文件名,并将其转换为以 .png 结尾的文件名。