JQuery和PHP结合实现动态进度条上传显示
Windows环境下的修改方法
第一步:修改在php5下POST文件大小的限制
1.编修php.ini
找到:max_execution_time=30,这个是每个脚本运行的最长时间,单位秒,改为:max_execution_time=150
找到:max_input_time=60,这是每个脚本可以消耗的时间,单位也是秒,修改为:
max_input_time=300
找到:memory_limit=128M,这个是脚本运行最大消耗的内存,根据你的需求更改数值,这里修改为:memory_limit=256M
找到:post_max_size=8M,表单提交最大数据为8M,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等…这里修改为:post_max_size=20M
找到:upload_max_filesize=2M,上载文件的最大许可大小,修改为:upload_max_filesize=10M(这里的大小根据需求来定)
第二步:Apache环境中的档案上传大小控制
修改位于Apahce目录下的httpd.conf
添加下面内容
LimitRequestBody10485760
即10M=10*1024*1024,有的文章中提到应改为600000000
重新启动apache,就可以在设置里看到你要的大小
HTML部分
<formaction="index/index/upload"method="POST"enctype="multipart/from-data"id="uploadform"onSubmit="returnfalse"> <divclass="inpuys"> <inputtype="file"name="file"id="uploadfile"value="选择文件"class="cho"> <inputtype="submit"value="上传"id="submit_btn"class="subbtnbtn-info"> </div> </form>
JS部分
<scripttype="text/javascript"src="{$Think.config.web_root}js/jquery.min.js"></script>
<scripttype="text/javascript"src="{$Think.config.web_root}js/jquery.form.js"></script>
<scriptsrc="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<scripttype="text/javascript">
$(document).ready(function(){
varprogressbox=$("#progressbox");
varprogressbar=$("#progressbar");
varprogress=$("#progress");
varcompleted="0%";
varoptions={
beforeSubmit:beforeSubmit,
uploadProgress:OnProgress,
success:afterSuccess,
resetForm:true
};
$("#uploadform").submit(function(){
$(this).ajaxSubmit(options);
returnfalse;
});
functionOnProgress(event,position,total,percentComplete){
progressbar.width(percentComplete+"%");
progress.html(percentComplete+"%");
}
functionafterSuccess(){
$("#output").html("上传完成!!");
}
functionbeforeSubmit(){
if(!$("#uploadfile").val()){
$("#output").html("请选择文件!!");
returnfalse;
}
progressbar.width(completed);
progress.html(completed);
}
});
</script>
THINKPHP方法部分
publicfunctionupload(){
//获取表单上传文件例如上传了001.jpg
$file=request()->file('file');
//移动到框架应用根目录/public/uploads/目录下
$info=$file->move(ROOT_PATH.'public'.DS.'uploads');
if($info){
return"上传成功";
}else{
//上传失败获取错误信息
echo$file->getError();
}
}
以上所述是小编给大家介绍的JQuery和PHP结合实现动态进度条上传显示,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!