php检查文件名存在,重命名该文件

yul*_*ika 4 php file-exists

如何检查文件名是否存在,重命名文件?

例如,1086_002.jpg如果文件存在,我上传图像,将文件重命名为1086_0021.jpg保存,如果1086_0021.jpg存在,则重命名1086_00211.jpg并保存,如果1086_00211.jpg存在,则重命名1086_002111.jpg并保存...

这是我的代码,它只能1086_002.jpg存在,重命名文件1086_0021.jpg,也许应该做一个foreach,但如何?

//$fullpath = 'images/1086_002.jpg';

if(file_exists($fullpath)) {
    $newpieces = explode(".", $fullpath);
    $frontpath = str_replace('.'.end($newpieces),'',$fullpath);
    $newpath = $frontpath.'1.'.end($newpieces);
}

file_put_contents($newpath, file_get_contents($_POST['upload']));
Run Code Online (Sandbox Code Playgroud)

cmb*_*ley 9

尝试类似的东西:

$fullpath = 'images/1086_002.jpg';
$additional = '1';

while (file_exists($fullpath)) {
    $info = pathinfo($fullpath);
    $fullpath = $info['dirname'] . '/'
              . $info['filename'] . $additional
              . '.' . $info['extension'];
}
Run Code Online (Sandbox Code Playgroud)

  • 每次*都附加`$ additional`,而不是递增.根据OP的要求.你有没有试过[运行代码](http://codepad.org/KNuKds5d)? (2认同)