JQuery和PHP實作動態進度條的上傳顯示

不言
發布: 2023-03-30 13:02:01
原創
1434 人瀏覽過

本文介紹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">
<p class="inpuys">
<input type="file" name="file" id="uploadfile" value="选择文件" class="cho">
<input type="submit" value="上传" id="submit_btn" class="sub btn btn-info">
</p>
</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(&#39;file&#39;);
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . &#39;public&#39; . DS . &#39;uploads&#39;);
if($info){
return "上传成功";
}else{
// 上传失败获取错误信息
echo $file->getError();
}
}
登入後複製

以上就是這篇文章的全部內容了,感謝大家的閱讀,更多相關內容請關注PHP中文網!

相關建議:

ThinkPHP和Ajax 實作二級連動的下拉式選單

以上是JQuery和PHP實作動態進度條的上傳顯示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!