php如何处理ajax,PHP+Ajax,该怎么处理

PHP+Ajax

上传文件:

a.php

if (!is_uploaded_file($_FILES["upfile"]["tmp_name"]))

//如果我直间提交表单 $_FILES是有值的 (Array ( [upfile] => Array ( [name] => 1.jpg [type] => image/jpeg [tmp_name] => C:\Windows\phpC106.tmp [error] => 0 [size] => 7108 ) ) )

//但我用ajax提交时, $_FILES是没有值,这个要怎么解决?

{

echo "图片不存在!";

exit;

}

------解决思路----------------------

你这样做是行不通的。异步上传文件我知道的有三种方法,第一种HTML5 FILE API方法,可以直接读取文件内容。第二种通过Flash插件来上传,所有工作交由Flash来完成,比如SwfUpload。第三种就是纯JavaScript完成异步上传。下面我们来介绍第三种方法。要借用iframe。参考代码:

target="iframe_2C4B15FAD29E311E3CBACEADE9EE8F4A" method="post">

/>

/>

可以同时上传多个文件,用GUID进行区分

/>

php-weizijiaocheng-207691.html

upload_delete.png

name="iframe_2C4B15FAD29E311E3CBACEADE9EE8F4A">

$(document).on('change','.file_upload_control .file_control',function(){

//第一步获取file值

var file = $(this).val();

//第二步上传前校验

if(!CheckFile(file)){

ClearFileControl($(this)); //清空文件的内容

return;

}

//第三步,如果上传的是图片,在本地进行上传前的预览

PreviewImg($file);

//第四步,提交上传

$(this).parent().submit(); //提交form

//第五步,如果上传的文件比较大(100M),查询进度,记得配置服务器支持大文件,否则上传不会成功!

var file_guid = $(this).siblings('.file_control_guid').val();

//第六步,查询文件上传进度,需要服务端程序进行配合,我这里举例的是PHP代码,需要使用PHP_APC.dll第三方插件协助 完成

setTimeout('GetUploadProgress("'+file_guid+'"),500);

});

相关文章

相关视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值