2013-02-09 1 views
0

Ce morceau de code javascript a été modifié pour avoir un nombre d'images téléchargées égal à 4. Cela fonctionne bien car il télécharge toujours 4 images, mais il apporte le même chemin pour toute image sorcière est quatre fois la même image. Note I utilise un générateur de nombres aléatoires pour être sûr que l'image est unique.Télécharger plusieurs fichiers conduire à télécharger 4 fois de même fichier

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'); 
      } 
     } 
    }); 

    }); 

Le bloc pour le traitement de tous le téléchargement est:

<?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 

Répondre

0

Je ne vois pas ce qui est la cause de votre problème, car les informations que vous avez fournies ne suffit pas. Il semble que vous utilisiez AjaxUpload, ce qui est assez ancien et n'est plus supporté. Si j'ai raison, pensez à mettre à jour vers la bibliothèque qui remplace AjaxUpload, par le même auteur, Fine Uploader. Vous trouverez probablement que beaucoup de vos problèmes/questions sont adressés après la mise à niveau.

Questions connexes