2013-07-24 16 views
12

Herkese merhaba Ajax JQuery kullanarak dosya yüklediğim örnek bir kod gönderiyorum. Her şey iyi çalışıyor ama dosya içeriğimi php kodumda okumak istiyorum. Peki, okunması gereken sözdizimi nedir?FormData nesnesini php olarak nasıl okuyabilirim

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

Şimdi Ajax aracılığıyla gönderilen dosya verilerinin nasıl okunacağını bilmiyorum. Bu yüzden lütfen bana

+0

Sen sadece bir form gönderildiğinde ediliyordu olsaydı gibi okudum. $ _POST [] 've' $ _FILES [] 'ile. – Barmar

+0

i $ name = $ _ POST []; Şimdi bu parantezde hangi parametreyi geçmem gerekiyor. –

cevap

15

kodunu bildirin. FormData.append()'a ilettiğiniz ilk argüman, sunucuya iletilen form öğesinin adıdır. Sizin durumunuzda data.append('file', alpha), <input type="file" name="file">'a eşdeğerdir - eklediğinizde 'dosya' ifadesini geçtiniz() böylece 'dosya' sizin giriş adınızdır.

Eşyalarınızı $_POST['file'] ve $_FILES['file'] adreslerinde bulabilirsiniz. Bir dahaki sefere diziyi görmek için gönderdikten sonra var_dump($_POST);'u deneyin. :)

burada php dosya yükleme hakkında bilgi edinin: http://php.net/manual/en/features.file-upload.php

+0

var alpha = name.files [0]; Bu satırın anlamını benim kodumda açıklayabilir. –

+2

'' html öğeleri, 'input' adlı bir özelliğe sahiptir; bu, bu giriş alanında kullanıcı tarafından seçilen JavaScript' File' nesnesinin bir dizisidir. Bu bir dizidir çünkü '' komutunu kullanırsanız, birden fazla dosya seçilebilir. Örneğiniz sadece bir dosyaya izin veriyor, bu yüzden ilk (ve sadece) dosyayı almak için 'dosyaları [0]' nı seçiyor. –

+0

data.append'de ('file', alpha) değişiklikler nasıl yapılır? daha fazla tahn bir dosya eklemek için –

İlgili konular