当前位置: 首页 > 后端技术 > PHP

PHP配合apc实现上传进度条

时间:2023-03-30 00:34:34 PHP

PHP配合apc实现上传进度条PHP配合apc实现上传进度条。我一直认为PHP无法实现进度条的动态功能。事实证明,我的知识还不够。看到apc扩展相关的一些文章使用apc扩展来实现动态效果。在查找相关文章的基础上,我在此基础上做了一些小的修改。自己服务器使用的窗口,主要是针对窗口上的应用。1、服务器必须支持apc扩展。如果没有这样的扩展,Googlephp_apc.dll,然后下载一个扩展。该扩展需要php.5.2或更高版本。2、配置apc相关配置,重启apachePHP代码,将内容复制到剪贴板apc支持的上传文件大小要求apc.max_file_size<=upload_max_filesize和apc.max_file_size<=post_max_size。重启apache实现apc支持。3.在代码中使用phpinfo();检查是否安装了apc扩展。4.下面是实现代码:getprogress.phpPHP代码复制内容到剪贴板session_start();if(isset($_GET['progress_key'])){$status=apc_fetch('upload_'.$_GET['progress_key']);echo($status['current']/$status['total'])*100;}?>upload.phpPHP代码复制内容到剪贴板$id=$_GET['id'];?>"multipart/form-data"id="upload_form"action="target.php"method="POST">"hidden"name="APC_UPLOAD_PROGRESS"id="progress_key"value=""/>"file"id="test_file"name="test_file"/>"window.parent.startProgress();returntrue;"type="submit"value="upload"/>target.phpPHP代码复制内容到剪贴板set_time_limit(600);if($_SERVER['REQUEST_METHOD']=='POST'){move_uploaded_file($_FILES"test_file",dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/".$_FILES"test_file");//UploadTemp文件夹所在在与此脚本相同的目录中echo"uploadedsuccessfully";}?>index.phpPHP代码将内容复制到剪贴板$id=md5(uniqid(rand(),true));?>"js/jquery-1.4.4.最小.js"language="javascript">"javascript">varproNum=0;varloop=0;varprogressResult;functionsendURL(){$.ajax({type:'GET',url:"getprogress.php?progress_key=",async:true,cache:false,dataType:'json',data:"progress_key=",success:function(e){progressResult=e;proNum=parseInt(progressResult);document.getElementById("progressinner").style.width=proNum+"%";document.getElementById("showNum").innerHTML=proNum+"%";if(proNum<100){setTimeout("getProgress()",100);}}});}functiongetProgress(){loop++;sendURL();}varinterval;functionstartProgress(){document.getElementById("progressouter").style.display="block";setTimeout("getProgress(")",100);}"theframe"name="theframe"src="upload.php?id="style="border:none;height:100px;width:400px;">"progressouter"style="width:500px;height:20px;border:6pxsolidred;display:none;">"progressinner"style="position:relative;height:20px;background-color:purple;width:0%;">'showNum'>'showNum2'>

最新推荐
猜你喜欢