批量修改RAR文件注释的php代码

时间:2022-09-01 19:24:52

我们打开WINRAR的帮助文件,帮助文件中提到了在命令行模式下修改RAR文件注释及添加压缩文档的两个参数分别为A\C,WINRAR的说明文件如下: 
从当前文件夹添加全部 *.hlp 文件到压缩文件 help.rar 中 

WinRAR a help *.hlp 

从文件添加注释可以使用 -z<文件> 开关。 
WinRAR c -zinfo.txt dummy 

这样,我们就可以通过PHP调用CMD,运行上述两个WINRAR参数来做到批量修改RAR文件的注释及添加压缩包的文件.需要注意的是,PHP在安全模式打开的情况下是不能直接调用CMD的. 

下面的代码就是我通过我的数据库读取出文件路径并最终实现批量修改RAR文件注释的方法.因为数据库是ACCESS,我新建了一个ODBC源.同时RAR.exe及CMD.EXE都在1.PHP同目录下 

复制代码代码如下:


<? 
$id=$_GET[id]; 
if($id=="") 

echo "参数错误"; 
exit; 

if($id>=400) 

echo "全部结束"; 
exit; 

$db=odbc_connect("dw","",""); 
$sql="select * from 'download' where 'id'=$id"; 
$query=odbc_exec($db,$sql); 
$filename=odbc_result($query,2); 
if($filename=="") 



$filename=str_replace("#1″,"",$filename); 
$filename=str_replace("#2″,"",$filename); 
$filename="soft/".$filename; 
echo $filename."<br>"; 
if(!file_exists($filename)) 

echo "文件不存在,转到下一个ID"; 
$id++; 
echo "<META HTTP-EQUIV='Refresh' 

CONTENT='0;URL=../test/1.php?id=$id'>"; 
exit; 
}//读出文件名,并检查文件是否存在 
else 

'WinRAR a $filename 使用说明.txt'; 
echo "插入说明文件成功"; 
$id++; 
echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../test/1.php?id=$id'>"; 

odbc_close($db); 
?> 



×××××××××××××××××××× 
最近采集流行,可能许多朋友都尝试通过采集数据来建设一个内容丰富完善的站点. 
可是,在某些时候我们通常采集得到的RAR文件都被批量加了注释,这个时候如果将这些数据放到自己的站上无异于为人家做广告. 
最近我也碰到了这样的问题,为此大伤脑筋,后来仔细的翻看WINRAR的帮助文件发现我们可以通过下面的方法来做到批量修改. 
我们打开WINRAR的帮助文件,帮助文件中提到了在命令行模式下修改RAR文件注释及添加压缩文档的两个参数分别为A\C,WINRAR的说明文件如下: 
从当前文件夹添加全部 *.hlp 文件到压缩文件 help.rar 中 
WinRAR a help *.hlp 

从文件添加注释可以使用 -z<文件> 开关。 
WinRAR c -zinfo.txt dummy 

这样,我们就可以通过PHP调用CMD,运行上述两个WINRAR参数来做到批量修改RAR文件的注释及添加压缩包的文件.需要注意的是,PHP在安全模式打开的情况下是不能直接调用CMD的. 

下面的代码就是我通过我的数据库读取出文件路径并最终实现批量修改RAR文件注释的方法.因为数据库是ACCESS,我新建了一个ODBC源.RAR.EXE及CMD.EXE都在1.PHP的相同目录下 

复制代码代码如下:



<? 
$id=$_GET[id]; 
if($id=="") 

echo "参数错误"; 
exit; 

if($id>=400) 

echo "全部结束"; 
exit; 

$db=odbc_connect("dw","",""); 
$sql="select * from 'download' where 'id'=$id"; 
$query=odbc_exec($db,$sql); 
$filename=odbc_result($query,2); 
if($filename=="") 


$filename=str_replace("#1″,"",$filename); 
$filename=str_replace("#2″,"",$filename); 
$filename="soft/".$filename; 
echo $filename."<br>"; 
if(!file_exists($filename)) 

echo "文件不存在,转到下一个ID"; 
$id++; 
echo "<META HTTP-EQUIV='Refresh' 

CONTENT='0;URL=../test/1.php?id=$id'>"; 
exit; 
}//读出文件名,并检查文件是否存在 
else 

'WinRAR a $filename 使用说明.txt'; 
echo "插入说明文件成功"; 
$id++; 
echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../test/1.php?id=$id'>"; 

odbc_close($db); 
?>