2010-09-13 5 views
0

mon 2form.php:Php - fichier de téléchargement avec ajax

<script type="text/javascript" src="mootools.js"></script> 
<script type="text/javascript"> 
    function test() 
    { 
     url = '2form.php'; 
     var ajax = new Ajax(url, { 
      method: 'post', 
      onComplete: function(response) {    
       document.getElementById('error_upload_logo').innerHTML = response; 
      } 
     });  
     ajax.request(); 
    } 
</script> 
<?php 
    if($_FILES) 
    { 
     echo "<div>"; 
     foreach($_FILES['name'] as $v) 
     { 
      echo $v."<br/>"; 
     } 
     echo "</div>"; 
    } 
    else 
    { ?> 
     <form action='' id='form1' name="form1" method="post" enctype="multipart/form-data"> 
      <input type="file" name="name"/> 
      <input type="submit" name="submit" onclick='test(); return false;'/> 
     </form> 
<?php 
    } 
?> 

<div id="error_upload_logo"></div> 

si le code exécuté avec javascript sur, il 2form.php comme page php simple, et

nous pouvons voir les informations de $ _FILES que a été imprimé à scrreen

Mais si je cours avec JavaScript en fonction test(),

je ne reçois pas d'information dans $ _FILES?

Comment obtenir _FILES $? quand cliquez sur le bouton exécuter avec javascript?

je veux télécharger avec ajax

Répondre

2

Vous ne pouvez pas faire le téléchargement de fichiers en utilisant AJAX parce que vous ne pourrez pas accéder au fichier local.

La solution de contournement la plus courante est ce que fait le JQuery Form plugin, la création d'un iframe temporaire et l'envoi d'un formulaire normal.

L'autre alternative est l'utilisation d'un téléchargeur basé sur Flash comme SWFUpload ou Uploadify.

+0

what do u Thik quelque chose comme ça http://valums.com/ajax-upload/, ce sulotion a été utilisé? – Chameron

+0

@Chameron il dit sur la première page 'Un plugin de téléchargement plus ajax, qui utilisé iframe pour les téléchargements ...' –

+0

i le code visionnés, et de voir quelque chose comme l'utilisation de créer js un iframe avec formulaire de téléchargement, appuyez sur pahtfile vers le fichier d'entrée et soumettre ce formulaire. Je ne suis pas sûr? Qu'en penses-tu? – Chameron

Questions connexes