【 tulaoshi.com - Web开发 】
实际上在用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:windowstempphpFA.tmp',
'error'=0,
'size'=3127
)
。。。就这么简单 。。。。有问题的朋友可以联系我哟。。。QQ:944597216,(这个博客我不经常上)