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


Posted in PHP onNovember 20, 2010

我们打开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); 
?>
PHP 相关文章推荐
php 特殊字符处理函数
Sep 05 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 PHP
深入php list()函数的详解
Jun 05 PHP
6种php上传图片重命名的方法实例
Nov 04 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
PHP中文编码小技巧
Dec 25 PHP
由php中字符offset特征造成的绕过漏洞详解
Jul 07 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
PHP获取MySQL执行sql语句的查询时间方法
Aug 21 PHP
为PHP初学者的8点有效建议
Nov 20 #PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 #PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 #PHP
整理的9个实用的PHP库简介和下载
Nov 09 #PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 #PHP
在PHP中使用curl_init函数的说明
Nov 02 #PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 #PHP
You might like
2.PHP入门
2006/10/09 PHP
PHP 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
JS生成随机打乱数组的方法示例
2017/12/23 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python实现队列的方法
2015/05/26 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
C# .NET面试题
2015/11/28 面试题
护理专业毕业生自我鉴定
2013/10/08 职场文书
急诊科护士自我鉴定
2013/10/14 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
九九重阳节标语
2014/10/07 职场文书
综合实践活动报告
2015/02/05 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
高考1977观后感
2015/06/04 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android
vue ref如何获取子组件属性值
2022/03/31 Vue.js