我刚刚在我的网站上安装了这个插件,就像一个魅力: http://hayageek.com/docs/jquery-upload-file.php
我唯一的麻烦是,在上传具有现有文件名的文件时,它会覆盖而不会发出任何警告/警告/重命名。
如果存在具有相同名称的文件,如何通过显示消息来阻止文件覆盖?
认为我必须对move_uploaded_file上的upload.php采取行动,但我无法弄清楚如何
<?php
//If directory doesnot exists create it.
$output_dir = "../download/";
if(isset($_FILES["myfile"]))
{
$ret = array();
$error =$_FILES["myfile"]["error"];
{
if(!is_array($_FILES["myfile"]['name'])) //single file
{
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
//echo "<br> Error: ".$_FILES["myfile"]["error"];
$ret[$fileName]= $output_dir.$fileName;
}
else
{
$fileCount = count($_FILES["myfile"]['name']);
for($i=0; $i < $fileCount; $i++)
{
$fileName = $_FILES["myfile"]["name"][$i];
$ret[$fileName]= $output_dir.$fileName;
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName );
}
}
}
echo json_encode($ret);
}
?>
答案 0 :(得分:1)
您可以在移动它之前对文件名运行简单的file_exists()以检查它是否存在,如果存在,您只需将文件名更改为其他内容。
以下是从上面链接中获取的一段代码:
<?php
$img = "images/".$_FILES['bilde']['name'];
$t=0;
while(file_exists($img)){
$img = "images/".$_FILES['bilde']['name'];
$img=substr($img,0,strpos($img,"."))."_$t".strstr($img,".");
$t++;
}
move_uploaded_file($_FILES['bilde']['tmp_name'], $img);
?>