我想要php上传图片表单来检查文件名,如果存在,请询问我是否要覆盖

时间:2011-06-08 19:03:31

标签: php upload overwrite

我有一个php表单,其中上传了多个图片。根据当前文件夹检查文件名,如果匹配则停止,这是一个简化的版本:

if (file_exists("../uploads/" . $_FILES["file"]["name"][$i])){
    echo "sorry that one already exists, rename";
}else{
    move_uploaded_file($_FILES["file"]["tmp_name"][$i],"" . '../uploads/'.$_FILES["file"]["name"][$i]);
    echo $_FILES["file"]["name"][$i]." was uploaded";
}

我想要的是问“你想覆盖现有文件吗?”如果它们没问题,那么继续使用move_uploaded_file()。这可能是一个弹出窗口或其他什么。这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

如果您正在阅读$_FILES,那么数据已经发布到服务器。从技术上讲,可以向用户返回一个错误页面,要求他们确认覆盖,但在提交实际文件之前通过ajax检查文件名/路径是否存在会更优雅且高效数据到服务器。

答案 1 :(得分:1)

您询问是否可以从客户端执行此操作而无需将文件上传到服务器 - 答案是 - 并非那么容易。

你能做到的唯一方法是创建AJAX处理程序,你将传递图像文件名并在文件存在时返回答案,然后相应地显示弹出窗口。