上传多个文件导致上传4次相同的文件

时间:2013-02-09 01:14:58

标签: php javascript css ajax fine-uploader

这段javascript代码广告被修改为上传的图片数量等于4.这项工作很好,因为它总是下载4张图片,但它为所有图片带来相同的路径女巫是四次相同的图片。注意我使用一个randon数字生成器来确保图片是唯一的。

i=0;
    $(function(){
        var btnUpload=$('#upload');
        var status=$('#status');
        new AjaxUpload(btnUpload, {
            action: 'upload-file.php',
            name: 'uploadfile',
            onSubmit: function(file, ext){
                 if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){ 
                    // extension is not allowed 
                    status.text('Only JPG, PNG or GIF files are        allowed');
                return false;
            }
            else if(i>=4){addClass('error');}
            status.text('Uploading...');
        },
        onComplete: function(file, response){
            //On completion clear the status
            status.text('');
            //Add uploaded file to list
            if(response==="success"&&i<=3){
                $('<li></li>').appendTo('#files').html('<img src="./uploads/'+file+'" alt="" /><br />'+file).addClass('success');
            i++;} else{
                $('<li></li>').appendTo('#files').text(file).addClass('error');
            }
        }
    });

    });

处理所有下载的块是:

<?php
session_start();
if($_SESSION['upload-file'] == "AAA"){$_SESSION['upload-file']=0;}
$uploaddir = 'uploads/'; 
$random_digit = rand(0,1000000);
$file = $uploaddir.$random_digit.basename($_FILES['uploadfile']['name']);     
  if($_SESSION['upload-file'] == 0){$_SESSION['Photo1'] = $file;$_SESSION['upload-     file']++;}
  if($_SESSION['upload-file'] == 1){$_SESSION['Photo2'] = $file;$_SESSION['upload-file']++;}
  if($_SESSION['upload-file'] == 2){$_SESSION['Photo3'] = $file;$_SESSION['upload-file']++;} 
  if($_SESSION['upload-file'] == 3){$_SESSION['Photo4'] = $file;$_SESSION['upload-file']++;$_SESSION['upload-file']="AAA";}

if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
  echo "success"; 

} else {
    echo "error";
}

the variable $_SESSION['upload-file'] ='AAA'; is only to create a loop.
So the block up there goes into file end_temp_p.php and the second block is upload-file.php
This donwload 4 time the same file wich look like a paradox

1 个答案:

答案 0 :(得分:0)

我无法看到导致您问题的原因,因为您提供的信息不足。看起来你正在使用AjaxUpload,它已经很老了,不再受支持了。如果我是正确的,请考虑升级到由同一作者Fine Uploader替换AjaxUpload的库。您可能会发现升级后会解决许多问题/问题。