麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

PHP+apc+ajax實現的ajax_upload上傳進度條代碼

2020-03-22 19:47:58
字體:
來源:轉載
供稿:網友
本文實例講述了PHP+apc+ajax實現的ajax_upload上傳進度條代碼。分享給大家供大家參考,具體如下:上傳進度條是怎么實現的呢 原理是怎么樣的呢 當我們瀏覽,選擇上傳后,會產生一個臨時文件,上傳的時把這個臨時文件,上傳到服務器,上傳完成后,這個臨時文件會被刪除掉。如果我們能讀取這個臨時文件的大小,就知道上傳進度是多少了,php apc模塊可以實現這個功能。一、安裝apc模塊下載地址:http://pecl.php.net/package/apctar zxvf APC-3.1.8.tgzcd APC-3.1.8//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install二、修改php.iniextension = apc.soapc.rfc1867 = 1apc.max_file_size = 200Mupload_max_filesize = 1000Mpost_max_size = 1000Mmax_execution_time = 600max_input_time = 600memory_limit = 128M修改好后,重起apache或者其他,查看一下[root@BlackGhost php]# php -m[PHP Modules]cgi-fcgictypeeAccelerator。。。。。。。。三、upload_test.php$id = uniqid(rand(), true); html script type='text/javascript' src='jquery-1.3.2.js' /script script type='text/javascript' src='ajaxupload.3.1.js' /script script type='text/javascript' src='upload.js' /script body h1 上傳測試 /h1 form enctype="multipart/form-data" id="upload" method="POST" input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value=" =$id " / input type="file" id="file" name="file" value=""/ br/ input id="submit" type="submit" value="Upload!" / /form div id="progressouter" div id="progressinner" /div /div br / div id='showNum' /div br div id='showInfo' /div br /body /html script type="text/javascript" $(document).ready(function(){form_submit(); /script APC_UPLOAD_PROGRESS這個有什么用呢 它對上傳的文件添加一個標記,就可以在其它的php程序中用這個標記訪問它。為apc的讀取提供支持。upload.js異步上傳的js文件:function form_submit (){new AjaxUpload('#upload', {action: 'upload.php',name: 'file',data: {APC_UPLOAD_PROGRESS:$("#progress_key").val()autoSubmit: true,onSubmit: function(file, extension){$('#progressouter').css('display', 'block');progress();onComplete: function(file, response){$("#showInfo").html(response);function progress (){$.ajax({type: "GET",url: "progress.php progress_key="+$("#progress_key").val(),dataType: "json",cache:false,success: function(data){if(data == 0) {var precent = 0;} else {for (i in data) {if (i == "current") {var json_current = parseInt(data[i]);if (i == "total") {var json_total = parseInt(data[i]);var precent = parseInt(json_current/json_total * 100);$("#progressinner").css("width",precent+"%");$("#showNum").html(precent+"%");$("#showInfo").html("ok");if ( precent 100) {setTimeout("progress()", 100);上面有一點要注意,APC_UPLOAD_PROGRESS:$("#progress_key").val()在這里,key是APC_UPLOAD_PROGRESS如果不是這個的話,apc找不到臨時文件的。在這里我為什么要用ajax_upload.js呢,因為jquery自帶的ajax,自帶參數沒有上傳文件的,也就是type='file'中的內容,php端根本得不到。四、upload.php上傳文件if($_SERVER['REQUEST_METHOD'] == 'POST') {if(empty($_FILES["file"]["tmp_name"])){echo "no file";$tmp_name = $_FILES["file"]["tmp_name"];$name = dirname($_SERVER['SCRIPT_FILENAME'])."/upload/".$_FILES["file"]["name"];move_uploaded_file($tmp_name, $name);echo " p File uploaded. /p
如果文件比較大,就不要用http的方式來上傳了,太慢,并且影響網站的穩定性。五、progress.php取得進度的文件,給ajax調用用的if(isset($_GET['progress_key'])) {$status = apc_fetch('upload_'.$_GET['progress_key']);if($status['total']!=0 && !empty($status['total'])) {echo json_encode($status);} else {echo 0;
cancel_upload 用戶取消上傳,只有上傳完成時才有
rate 上傳速度,只有上傳完成時才有
start_time 開始時間更多關于PHP文件及ajax操作相關內容感興趣的讀者可查看本站專題:《php文件操作總結》及《PHP+ajax技巧與應用小結》希望本文所述對大家PHP程序設計有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美视频国产 | 久草在线综合 | 久草在线免费资源站 | 中国hd高清xxxxvideo | 国产精品久久久免费 | 欧美一级片一区 | 国产毛片在线看 | 美女黄网站免费观看 | 久久久久久久一区二区三区 | 亚洲婷婷日日综合婷婷噜噜噜 | 久久久www成人免费毛片 | 91精品老司机 | 国产精品美女久久久免费 | 一级毛片在线观看免费 | 国产精品一区二区三区在线 | 一区二区三区日韩在线 | 成人在线观看免费视频 | 久久成人视屏 | vidz 98hd| 免费国产成人高清在线看软件 | 久久久久久久久浪潮精品 | 久久久www成人免费精品 | 久久我不卡| 一级黄色毛片播放 | 日本一区二区不卡在线观看 | 亚洲综合视频网 | 在线看一区二区三区 | 国产成人精品自拍视频 | 免费a网 | 久久精品欧美一区二区 | 精品国产91一区二区三区 | 天天草夜夜爽 | 欧美亚洲国产成人综合在线 | 97超级碰碰人国产在线观看 | 黄色片免费在线 | 久久成人激情视频 | 精品久久一区二区三区 | 永久免费毛片 | 中文字幕在线免费观看电影 | 日本免费一区二区三区四区 | 久久九九热re6这里有精品 |