2016-02-05 25 views
0

我想用php和jquery製作一個圖片上傳器,但我無法讓它工作。我的問題是:
爲什空?
繼承人我的代碼

的Html
的index.php

<form id="uploadForm" action="" method="post"> 
<input name="image" type="file" id="image" /> 
<a href="#" id="uploadforms">Upload</a> 
</form> 
<div id="uploadresult"></div> 

jQuery的
javascript.js

function uploadimages(){ 
    $.ajax({ 
     type: 'POST', 
     url: '../ajax/upload.php', 
     processData: false, 
     contentType: false, 
     cache: false, 
     data: new FormData(this), 
     success: function (data) { 
     $("#uploadresult").html(data); 
     }, 
    }); 
    } 
    $("#uploadforms").click(function(){ 
    uploadimages(); 
    }); 


upload.php的

<?php 
if(!empty($_FILES['image'])) { 
    echo "Upload image"; 
} 
else{ 
    echo "Error"; 
} 
?> 
+0

不是重複。下面的答案是正確的 –

回答

1

你在你的形式 忘記enctype='multipart/form-data'這樣

<form id="uploadForm" action="" method="post" enctype="multipart/form-data"> 

欲瞭解更多信息請點擊herehere

更新:從函數調用

通行證形式

$("#uploadforms").click(function(){ 
    var form = $('form')[0]; //access form obj 
    uploadimages(form); 
    }); 

並在功能上訪問它

function uploadimages(formObj){ 
    $.ajax({ 
     type: 'POST', 
     url: '../ajax/upload.php', 
     processData: false, 
     contentType: false, 
     cache: false, 
     data: new FormData(formObj), //changes here 
     success: function (data) { 
     $("#uploadresult").html(data); 
     }, 
    }); 
    } 
+0

即使這樣它仍然無法正常工作,$ file []仍然是空的 – Avoka94

+0

查看更新。 –

+1

謝謝!這有幫助! – Avoka94