How do I check if file name exists, rename the file?
for example, I upload a image 1086_002.jpg
if the file exists, rename the file as 1086_0021.jpg
and save, if 1086_0021.jpg
is exist, rename 1086_00211.jpg
and save , if 1086_00211.jpg
is exist, rename 1086_002111.jpg
and save...
Here is my code, it only can do if 1086_002.jpg
exist, rename the file as 1086_0021.jpg
, maybe should do a foreach, but how?
//$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']));
Try something like:
$fullpath = 'images/1086_002.jpg';
$additional = '1';
while (file_exists($fullpath)) {
$info = pathinfo($fullpath);
$fullpath = $info['dirname'] . '/'
. $info['filename'] . $additional
. '.' . $info['extension'];
}
Why not just append a timestamp onto the filename? Then you won't have to worry about arbitrarily long filenames for files which have been uploaded many times.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With