我最近一直在学习在PHP中构建图像库上传器。我似乎无法解决在将文件上传到我的上传文件夹之前如何重命名我的文件。任何人都可以帮助我吗?PHP - 重命名并上传文件(如果存在的话)
继承人我到目前为止。
if(isset($_POST['submit'])) {
$allowedExts = array("gif", "jpeg", "jpg", "png","GIF","JPEG","JPG","PNG");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
echo "Invalid File Type";
} else {
$target = "../upload/";
$name = addslashes($_FILES['file']["name"]);
if(file_exists('../upload/' . $name)) {
$explode = explode('.', $name);
$img = $explode[0];
$ex = $explode[1];
$i = 1;
$new = $img . '_' . $i . '.' . $ex;
while (file_exists('../upload/' . $new)) {
$i++;
$new = $img . '_' . $i . '.' . $ex;
}
// RENAME FILE HERE?
}
move_uploaded_file($_FILES["file"]["tmp_name"], $target. $_FILES["file"]["name"]);
}
} else {
echo "Error uploading image";
die();
}
}
所以,正确的我while循环之后就是我想要重命名的文件,然后使用move_uploaded_file()以功能将其移动到我的“上传”目录。什么是我能达到这个目标的最好方法?
感谢
呃现在有道理!我会将其标记为答案。谢谢你的帮助! :) – ShiggyDooDah
没问题,正如提到的文件重命名文件不是很清楚,但这就是它的实现方式 –