Question

I'd like to totally rename a file before it uploads. Other posts I've found on here seem to append something to the beginning or the end of the file name to make it unique, but I just want to completely wipe the name and rename it.

Input: anyoldfilename.jpg output: thisnameexactly.jpg

The following function I'm working with uploads but doesn't rename the file. The name should be $newfilename, which I've created in the function:

$target = "../files/photos/"
$target = $target . basename( $_FILES['photo']['name']);

//Find file extension of photo
$newfilename = "thisnameexactly";
$ext = end(explode('.', $_FILES['photo']['name']));
$newfilename = $newfilename . "." . $ext;

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)){
   echo "image successfully uploaded";
}
else {
   echo "Sorry, there was a problem uploading your file.";
}

How can I modify this so that it renames the file entirely?

Was it helpful?

Solution

$target = $target . basename( $_FILES['photo']['name']); 

you have on the top, move it as

$target = "../files/photos/"

//Find file extension of photo
$newfilename = "thisnameexactly";
$ext = end(explode('.', $_FILES['photo']['name']));
$newfilename = $newfilename . "." . $ext;

$target = $target . $newfilename;

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)){
   echo "image successfully uploaded";
}
else {
   echo "Sorry, there was a problem uploading your file.";
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top