批量修改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 相关文章推荐
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
php DOS攻击实现代码(附如何防范)
May 29 PHP
php基础教程 php内置函数实例教程
Aug 21 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
php提交表单发送邮件的方法
Mar 20 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
Laravel实现autoload方法详解
May 07 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
Yii框架的布局文件实例分析
Sep 04 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
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php 取得瑞年与平年的天数的代码
2009/08/10 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
Js四则运算函数代码
2012/07/21 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
python 自动重连wifi windows的方法
2018/12/18 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
Python tkinter实现日期选择器
2021/02/22 Python
数控技校生自我鉴定
2014/03/02 职场文书
广播体操比赛口号
2014/06/10 职场文书
上班迟到检讨书
2015/05/06 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
Python利用capstone实现反汇编
2022/04/06 Python