實際上在用PHP上傳文件時。。。只能用$_FILES形式,但是若我們只是單一的用JS方式取其ID,如<input id='img' type='file'>..document.getElementById('img').value或者jquery形式的$("#img")都是不能正真實際上傳的(但是還是有很多人這樣做,剛開始時我也是)。
可是功能上又要要求實現所謂的“異步上傳”,怎麼辦呢??只能借助於第三方的組件,或者自己寫一個。但如果是考慮開發時間,那以用第三方的,這裡有一個不錯的jQuery的Ajax文件上傳的組件,是“ajaxfileupload.js",其組件下載地址為:http://www.phpletter.com/,下載完畢裡面有一個php的應用demo,很容易看懂的。
過程:
首先引入JQUERY的主文件:
代碼如下:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajaxfileupload.js"></script>
再寫一個傳值文件
<script type="text/javascript">
function ajaxFileUpload()
{
$.ajaxFileUpload
(
{
[url='/cms/manage/newsajax/newsadd']url:'/cms/manage/newsajax/newsadd'[/url],
secureuri:false,
fileElementId:'img',
dataType: 'text',
success: function (data)
{
alert(data);
}
}
)
return false;
}
</script>
這樣客戶端就完成了。
再服務器端時,為了簡便檢測是否真正的傳值過來了,你可以打印$_FILES.
var_dump($_FILES);
這樣你又看到你熟悉的數組了:
代碼如下:
array(
'name'=>'lamp.jpg',
'type'=>'image/pjpeg',
'tmp_name'=>'c:\windows\temp\phpFA.tmp',
'error'=>0,
'size'=>3127
)
。。。就這麼簡單 。。。。有問題的朋友可以聯系我喲。。。QQ:944597216,(這個博客我不經常上)