问题
I have tried to solve this problem . But i could not solve this . Each time new photo replace the old one if same name :( Here is my code
$uploads_dir = '/photo/';
echo $_FILES["photo"]["name"];
echo $_FILES["photo"]["size"];
echo $_FILES["photo"]["type"];
$pname = $_FILES["photo"]["name"];
$tname=$_FILES["photo"]["tmp_name"];
$name = pathinfo($_FILES['photo']['name'], PATHINFO_FILENAME);
$extension = pathinfo($_FILES['photo']['name'], PATHINFO_EXTENSION);
$increment = ''; //start with no suffix
while(file_exists($name . $increment . '.' . $extension)) {
$increment++;
$pname = $name . $increment . '.' . $extension;
}
move_uploaded_file($tname, $uploads_dir.$pname);
My desired output is like this if i upload image with name "new.jpg" 3 time ... these image will not overwrite one another... these will be stored like new.jpg , new1.jpg ,new2.jpg
回答1:
try this:
$uploads_dir = '/photo/';
echo $_FILES["photo"]["name"];
echo $_FILES["photo"]["size"];
echo $_FILES["photo"]["type"];
$pname = $_FILES["photo"]["name"];
$tname=$_FILES["photo"]["tmp_name"];
$name = pathinfo($_FILES['photo']['name'], PATHINFO_FILENAME);
$extension = pathinfo($_FILES['photo']['name'], PATHINFO_EXTENSION);
$increment = 0;
$pname = $name . '.' . $extension;
while(is_file($uploads_dir.'/'.$pname)) {
$increment++;
$pname = $name . $increment . '.' . $extension;
}
move_uploaded_file($tname, $uploads_dir.'/'.$pname);
来源:https://stackoverflow.com/questions/24171428/rename-photo-name-if-already-uploaded-with-same-name-in-php