Home  >  Article  >  Backend Development  >  PHP uses APC to implement real-time upload progress bar function, apc progress bar_PHP tutorial

PHP uses APC to implement real-time upload progress bar function, apc progress bar_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 09:06:34936browse

php uses APC to implement the real-time upload progress bar function. apc progress bar

php does not have the real-time upload progress bar function. If we want to have this function, we usually use ajax to achieve it. , but PHP provides an APC, which can implement the upload progress bar function with PHP configuration.
Mainly targeted at applications on windows.
1. The server must support the apc extension. If there is no such extension, downloading an extension requires php.5.2 or above.
2. Configure apc related configuration and restart apache
The code is as follows

extension=php_apc.dll
apc.rfc1867 = on
apc.max_file_size = 1000M
upload_max_filesize = 1000M
post_max_size = 1000M
Explanation: As for the size of the parameters, it depends on the project that requires apc.max_file_size. To set the size of the uploaded file supported by apc, it requires apc.max_file_size<=upload_max_filesize Andapc.max_file_size <=post_max_size.Restart apache to achieve apc support.
3. Use phpinfo(); in the code to check whether the apc extension is installed.
4. The following is the implementation code:
getprogress.php
The code is as follows

<&#63;php 
session_start(); 
if(isset($_GET['progress_key'])) { 
 $status = apc_fetch('upload_'.$_GET['progress_key']); 
 echo ($status['current']/$status['total'])*100; 
} 
&#63;> 
upload.php
PHP Code
<&#63;php 
 $id = $_GET['id']; 
&#63;> 
<form enctype="multipart/form-data" id="upload_form" action="target.php" method="POST"> 
<input type="hidden" name="APC_UPLOAD_PROGRESS" 
  id="progress_key" value="<&#63;php echo $id&#63;>"/> 
<input type="file" id="test_file" name="test_file"/><br/> 
<input onclick="window.parent.startProgress(); return true;" 
 type="submit" value="上传"/> 
</form> 

target.php
The code is as follows

<&#63;php  
set_time_limit(600); 
if($_SERVER['REQUEST_METHOD']=='POST') { 
 move_uploaded_file($_FILES["test_file"]["tmp_name"], 
 dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/" . $_FILES["test_file"]["name"]);//UploadTemp文件夹位于此脚本相同目录下 
 echo "<p>上传成功</p>"; 
} 
&#63;> 

index.php
The code is as follows

<&#63;php 
 $id = md5(uniqid(rand(), true)); 
&#63;> 
<html> 
<head><title>上传进度</title></head> 
<body> 
<script src="js/jquery-1.4.4.min.js" language="javascript"></script> 
 
 
<script language="javascript"> 
var proNum=0; 
var loop=0; 
var progressResult; 
function sendURL() { 
   $.ajax({ 
      type : 'GET', 
      url : "getprogress.php&#63;progress_key=<&#63;php echo $id;&#63;>", 
      async : true, 
      cache : false, 
      dataType : 'json', 
      data: "progress_key=<&#63;php echo $id;&#63;>", 
      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); 
          } 
         
      } 
   }); 
  
} 
 
function getProgress(){ 
 loop++; 
 
 sendURL(); 
} 
var interval; 
function startProgress(){ 
 document.getElementById("progressouter").style.display="block"; 
 setTimeout("getProgress()", 100); 
} 
</script> 
<iframe id="theframe" name="theframe" 
  src="upload.php&#63;id=<&#63;php echo $id; &#63;>" 
  style="border: none; height: 100px; width: 400px;" > 
</iframe> 
<br/><br/> 
<div id="progressouter" style="width: 500px; height: 20px; border: 6px solid red; display:none;"> 
 <div id="progressinner" style="position: relative; height: 20px; background-color: purple; width: 0%; "></div> 
</div> 
<div id='showNum'></div><br> 
<div id='showNum2'></div> 
</body> 
</html> 

The above is the method to share with you how to use APC to implement the real-time upload progress bar function in PHP. I hope it will be helpful to everyone's learning.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1065151.htmlTechArticlephp uses APC to realize the real-time upload progress bar function. The apc progress bar php does not have the real-time upload progress bar function. If you want to We usually use ajax to achieve this function, but php provides...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn