【发布时间】:2013-05-01 20:51:00
【问题描述】:
我在一个目录中有很多图像文件,它们的 ID 在关于它所包含内容的一些描述之间。
这是该目录中文件的示例: de-te-mo-01-19-1084 Moldura.JPG, ce-ld-ns-02-40-0453 senal.JPG, dp-bs-gu-01-43-1597-guante.JPG, am -ca-tw-04-30-2436 Tweter.JPG, am-ma-ac-02-26-0745 aceite.JPG, ca-cc-01-43-1427-F.jpg
我想要的是获取图像的 ID *(nn-nn-nnnn) 并使用该子字符串重命名文件。
*n 作为数字。
上面列表的结果是:01-19-1084.JPG, 02-40-0453.JPG, 01-43-1597.JPG, 04-30-2436.JPG, 02- 26-0745.JPG, 01-43-1427.jpg.
这是我用来循环目录的代码:
$dir = "images";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if($sub_str = preg_match($patern, $file))
{
rename($dir.'/'.$file, $sub_str.'JPG');
}
}
closedir($dh);
}
}
那么,我的 $pattern 将如何得到我想要的?
【问题讨论】:
标签: php regex preg-match substring rename