我有一个文件有两个可能的名称:slide_f.png
或slide_f.jpg
.
我想rename
将此文件添加到slide'.$nr.'.jpg
或slide'.$nr.'.png
取决于以前的扩展名。
在不知道初始文件扩展名的情况下如何做到这一点?
我有一个文件有两个可能的名称:slide_f.png
或slide_f.jpg
.
我想rename
将此文件添加到slide'.$nr.'.jpg
或slide'.$nr.'.png
取决于以前的扩展名。
在不知道初始文件扩展名的情况下如何做到这一点?
使用glob()
通配符通过前缀匹配文件,然后使用 pathinfo 将文件名分解为其组成部分。然后重建并重命名
$files = glob('slide_f.*');
foreach ($files as $file) {
$ext = pathinfo($file, PATHINFO_EXTENSION);
$basename = pathinfo($file, PATHINFO_BASENAME);
rename($file, "{$basename}{$nr}.{$ext}");
}
试试file_exists。然后,继续重命名。
if(file_exists($name.'.jpg'))
{
rename($name.'.jpg', $new_name.'.jpg')
}
elseif(file_exists($name.'.png'))
{
rename($name.'.png', $new_name.'.png')
}
else
{
echo "the file doesn't exists";
}
那这个呢:
if(file_exists("slide_f.png")){
//rename to png
}else if(file_exists("slide_f.jpg")){
//rename to jpg
}else{
// unknown file format
}
试试glob,然后你会得到文件名。
$fnList = glob('slide_f.*');
foreach($fnList as $fn){
$fn = preg_replace('/_f\.',$nr, $fn);
}