标题:php在线解压rar问题
只看楼主
janurs
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2009-3-27
结帖率:100%
 问题点数:0 回复次数:23 
php在线解压rar问题
用以下代码解压是成功了:
<?
$upfile=$_FILES['file'];
if($upfile){
    $pic=$_SERVER[DOCUMENT_ROOT].'/upload/'.$upfile[name];
    move_uploaded_file($upfile['tmp_name'],$pic);
   
    $rar_file = rar_open($pic) or die("Can't open Rar archive");
    //example.rar换成其它档案即可
    $entries = rar_list($rar_file);
   
    foreach ($entries as $entry){
    $entry->extract($_SERVER[DOCUMENT_ROOT].'/upload/');
    }
   
    $r=rar_close($pic);
}
?>
但成功之后有问题,就是解压的那个rar要过一段时间才能删除,时那个php_rar.dll的问题,还是rar_close用的不对,还是什么问题呢?
附上pecl各个版本的下载地址:http://museum.
我用的是 pecl-5.2.3-Win32.zip 里的php_rar.dll,其他版本就算apache可以读到,但也用不到以上的代码。
或者各位有什么好用的解压rar的方法也可以说下。
对于各位的回答,虽然小弟没有分可以给大家,但万分感谢。。。谢谢```

[ 本帖最后由 janurs 于 2010-1-29 12:20 编辑 ]
搜索更多相关主题的帖子: 在线 php rar 
2010-01-29 12:15
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:55
帖 子:2004
专家分:7306
注 册:2007-12-17
得分:0 
解压的过程是需要耗费时间滴,得解压结束了才能删除那个.rar文件吧,如果一个10G的文件得花上半个小时吧

那一年,苍井空还是处女
2010-01-29 13:46
janurs
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2009-3-27
得分:0 
我测试时是用一个几十kb的文件的,压缩文件中的文件全都解压出来了,但是还是不能删除
2010-01-29 13:48
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:55
帖 子:2004
专家分:7306
注 册:2007-12-17
得分:0 
pecl-5.2.3-Win32.zip里没有php_rar.dll啊,只有php_zip.dll
我测试的时候出现下面的错误
Fatal error: Call to undefined function rar_open()

没有rar_open()这个函数

[ 本帖最后由 外部三电铃 于 2010-1-29 14:09 编辑 ]

那一年,苍井空还是处女
2010-01-29 14:07
janurs
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2009-3-27
得分:0 
不会吧···我的没有php_zip.dll,只有php_rar.dll
我把我用的那个发上来吧··
php_rar.rar (67.99 KB)
2010-01-29 14:15
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:55
帖 子:2004
专家分:7306
注 册:2007-12-17
得分:0 
用php的exec函数执行winrar的相关命令也可以,操作命令比较丰富,有几十条,给压缩文件加注释,加密码,解压带密码的压缩文件等都可以操作

不过php执行exec函数,首先要给php读cmd.exe的权限(就是要给cmd.exe 安全里面添加上 internet来宾用户权限),安全性有所降低

那一年,苍井空还是处女
2010-01-29 14:16
janurs
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2009-3-27
得分:0 
恩··但exec可以运行format命令···很危险吧··
2010-01-29 14:18
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:55
帖 子:2004
专家分:7306
注 册:2007-12-17
得分:0 
先把php_rar.dll收了,稍后哥再陪你玩,很纳闷,我也是在http://museum. 下载的pecl-5.2.3-Win32.zip,不知道为什么就没有php_rar.dll

那一年,苍井空还是处女
2010-01-29 14:21
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:55
帖 子:2004
专家分:7306
注 册:2007-12-17
得分:0 
程序代码:
$upfile=$_FILES['file']; 
if($upfile){ 
    $pic=$_SERVER[DOCUMENT_ROOT].'/upload/'.$upfile[name]; 
    move_uploaded_file($upfile['tmp_name'],$pic); 
     
    $rar_file = rar_open($pic) or die("Can't open Rar archive"); 
    //example.rar  
    $entries = rar_list($rar_file);  
     
    foreach ($entries as $entry){  
    $entry->extract($_SERVER[DOCUMENT_ROOT].'/upload/'); 
    } 
     
    $r=rar_close($rar_file);  
}

把$pic改成$rar_file应该可以了

那一年,苍井空还是处女
2010-01-29 14:49
janurs
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2009-3-27
得分:0 
你可以?~~~~试过不可以··
2010-01-29 15:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296823-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.203771 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved