照片上传可防止覆盖

时间:2015-02-23 06:01:29

标签: php html upload

所以我已经按照此链接http://www.w3schools.com/php/php_file_upload.asp制作了照片上传功能,但是当有另一个同名文件时,我说该文件已经上传了,我该如何制作它将文件名更改为以前没有使用过的其他内容。

换句话说,如果有另一张同名的照片,我仍然希望它上传,但我不想让它覆盖现有照片。

我基本上想用其他东西来替换它

// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;

这样就像这样

// Check if file already exists
if (file_exists($target_file)) {
"do something to change file name"
$uploadOk = 1;

更新:我得到了它的工作。我刚刚制作它,以便将每个图像重命名为一个独特的ID,如下所述。感谢

同样在那个建议中应该是这个

$newTarget_file = $target_dir . uniqid() . "." . end($target_file);

1 个答案:

答案 0 :(得分:1)

添加随机数以重命名文件

$name = explode(".",$_FILES["file"]["name"]);
$newName = rand(1,99999) . '.' .end($name);
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newName );

或者您还可以使用if条件来验证文件名是否存在。如果文件可用,请添加一些内容来重命名文件。