0

この JavaScript コード広告は、アップロードされる写真の数が 4 になるように変更されています。写真が一意であることを確認するために乱数発生器を使用することに注意してください。

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
4

1 に答える 1

0

ご提供いただいた情報が不十分なため、問題の原因がわかりません。AjaxUploadを使用しているようですが、これはかなり古く、サポートされていません。私が正しければ、同じ作者のFine Uploaderによる AjaxUpload を置き換えるライブラリへのアップグレードを検討してください。アップグレード後、多くの問題/質問が解決されていることに気付くでしょう。

于 2013-02-09T12:42:18.803 に答える