当前位置:Gxlcms > PHP教程 > PHP+Ajax,该怎么处理

PHP+Ajax,该怎么处理

时间:2021-07-01 10:21:17 帮助过:5人阅读

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。参考代码:








$(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);
});

人气教程排行