2013-07-24 12 views
12

Hallo an alle ich posten einen Beispielcode, in dem ich eine Datei mit Ajax JQuery hochladen. Alles funktioniert gut, aber ich möchte den Inhalt der Datei in meinem PHP-Code lesen. Also, was ist die Syntax um es zu lesen?wie zu lesen FormData Objekt in PHP

<?php 

?> 

<!--================================html==================================================--> 

<html> 
<head> 
    <title>AJAX UPLOAD</title> 
    <script type="text/javascript" src="jquery-2.0.2.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $('#Button_').click(function(){ 
       alert("hi"); 
       var name= document.getElementById('File_'); 
       var alpha=name.files[0]; 
       console.log(alpha.name); 
       var data= new FormData(); 
       data.append('file',alpha); 
       $.ajax({ 
       url:'process.php', 
       data:data, 
       processData:false, 
       contentType:false, 
       type:'POST', 
       success:function(msg){ 
       alert(msg); 
       } 
       }); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <input type="file" name="File" id="File_"/> 
    <input type="button" name="Button" id="Button_" value="UPLOAD"> 
</body> 
</html> 

Jetzt weiß ich nicht, wie man die Dateidaten liest, die über Ajax gesendet werden. Lassen Sie mich bitte den Code wissen

+0

Sie es lesen wie würden Sie, wenn ein Formular abgeschickt wurden. Mit '$ _POST []' und '$ _FILES []'. – Barmar

+0

Ich habe hinzugefügt $ name = $ _ POST []; jetzt welchen Parameter muss ich in dieser Klammer übergeben. –

Antwort

15

Das erste Argument, das Sie an FormData.append() übergeben, ist der Name des Formularelements, das an den Server übergeben wird. So data.append('file', alpha) in Ihrem Fall entspricht <input type="file" name="file"> - Sie übergeben 'Datei' anhängen() so 'Datei' ist Ihr Eingangsname.

Sie sollten Ihre Sachen in $_POST['file'] und $_FILES['file'] finden. Beim nächsten Mal versuchen Sie var_dump($_POST); nach dem Senden, um das Array zu sehen. :)

über das Hochladen von Dateien in PHP Erfahren Sie hier: http://php.net/manual/en/features.file-upload.php

+0

var alpha = Name.files [0]; kann jemand die Bedeutung dieser Zeile in meinem Code erklären. –

+2

'' html Elemente haben eine Eigenschaft namens 'files', die ein Array der JavaScript' File' Objekte ist, die vom Benutzer in diesem Eingabefeld ausgewählt wurden. Es ist ein Array, weil Sie mehrere Dateien auswählen können, wenn Sie '' verwenden. Ihr Beispiel erlaubt nur eine Datei, wählt also 'files [0]', um die erste (und einzige) Datei zu erhalten. –

+0

wie Änderungen an data.append vorgenommen werden ('file', alpha); mehr an eine Datei anhängen –