批量修改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 移除数组重复元素的一点说明
Nov 27 PHP
PHP array_flip() 删除重复数组元素专用函数
May 16 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
Yii实现显示静态页的方法
Apr 25 PHP
thinkphp分页实现效果
Oct 13 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
php输出图像的方法实例分析
Feb 16 PHP
php简单读取.vcf格式文件的方法示例
Sep 02 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 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
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
python九九乘法表的实例
2017/09/26 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
如何使用python写截屏小工具
2020/09/29 Python
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
大学毕业的自我鉴定
2013/10/08 职场文书
法学研究生自我鉴定范文
2013/12/04 职场文书
公证委托书模板
2014/04/03 职场文书
《充气雨衣》教学反思
2014/04/07 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
校运动会广播稿300字
2014/10/07 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python