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
添加下面内容
LimitRequestBody 10485760 
即10M=10*1024*1024,有的文章中提到应改为 600000000
重新启动apache,就可以在设置里看到你要的大小

HTML部分

<form  action="index/index/upload" method="POST" enctype="multipart/from-data" id="uploadform" onSubmit="return false">
 <div class="inpuys">
	<input type="file" name="file" id="uploadfile" value="选择文件" class="cho">
	<input type="submit" value="上传" id="submit_btn" class="sub btn btn-info">
 </div>
</form>

JS部分

<script type="text/javascript" src="{$Think.config.web_root}js/jquery.min.js"></script>
	<script type="text/javascript" src="{$Think.config.web_root}js/jquery.form.js"></script>
	<script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
		var progressbox=$("#progressbox");
		var progressbar=$("#progressbar");
		var progress=$("#progress");
		var completed="0%";

		var options={
			beforeSubmit:beforeSubmit,
			uploadProgress:OnProgress,
			success:afterSuccess,
			resetForm:true
		};

		$("#uploadform").submit(function(){
			$(this).ajaxSubmit(options);
			return false;
		});

		function OnProgress(event,position,total,percentComplete ) {
			progressbar.width(percentComplete + "%");
			progress.html(percentComplete + "%");
		}

		function afterSuccess(){
			$("#output").html("上传完成!!");
		}

		function beforeSubmit(){
			if (!$("#uploadfile").val()) {
				$("#output").html("请选择文件!!");
				return false;
			}
			progressbar.width(completed);
			progress.html(completed);
		}
	});
	</script>

THINKPHP方法部分

    public function upload(){
	    // 获取表单上传文件 例如上传了001.jpg
	    $file = request()->file('file');
	    // 移动到框架应用根目录/public/uploads/ 目录下
	    $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
	    if($info){
	         return "上传成功";
	    }else{
	        // 上传失败获取错误信息
	        echo $file->getError();
	    }
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值