Heim >php教程 >php手册 >PHP利用apc实现上传进度条方法

PHP利用apc实现上传进度条方法

WBOY
WBOYOriginal
2016-06-13 11:27:42839Durchsuche

php本身是不具备可以带有实时上传进度条功能了,如果想有这种功能我们一般会使用ajax来实现,但是php提供了一个apc,他就可以与php配置实现上传进度条哦。

主要针对的是window上的应用。
1.服务器要支持apc扩展,没有此扩展的话,百度一下php_apc.dll ,下载一个扩展扩展要求php.5.2以上。
2.配置apc相关配置,重启apache

 代码如下 复制代码
extension=php_apc.dll  
apc.rfc1867 = on  
apc.max_file_size = 1000M  
upload_max_filesize = 1000M  
post_max_size = 1000M  

 

说明一下:至于参数要配多大,得看项目需要apc.max_file_size,  设置apc所支持上传文件的大小,要求apc.max_file_size 3.在代码里面利用phpinfo();查看apc扩展安装了没有。
4.下面是实现代码:
getprogress.php

 代码如下 复制代码

session_start();  
if(isset($_GET['progress_key'])) {  
  $status = apc_fetch('upload_'.$_GET['progress_key']);  
  echo ($status['current']/$status['total'])*100;  
}  
?>  
upload.php

PHP Code
   $id = $_GET['id'];  
?>  

  
       id="progress_key"  value=""/>  

  
 type="submit" value="上传"/>  
  

target.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 "

上传成功

";  
}  
?>  

index.php

 代码如下 复制代码

   $id = md5(uniqid(rand(), true));  
?>  
  

上传进度  
  
  
  
  
  
        src="upload.php?id="   
        style="border: none; height: 100px; width: 400px;" >   
  


  
  

  
  
  
  

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn