批量修改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读取数据库信息的几种方法
May 24 PHP
php设计模式 Bridge (桥接模式)
Jun 26 PHP
PHP 防注入函数(格式化数据)
Aug 08 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
php操作MongoDB类实例
Jun 17 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
通过Email发送PHP错误的方法
Jul 20 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
golang 调用 php7详解及实例
Jan 04 PHP
thinkphp5框架API token身份验证功能示例
May 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
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
Admin generator, filters and I18n
2011/10/06 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
php微信开发之图片回复功能
2018/06/14 PHP
JavaScript 学习笔记(十一)
2010/01/19 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
Python3基础之条件与循环控制实例解析
2014/08/13 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
经济管理专业自荐信
2013/12/30 职场文书
毕业生个人投资创业计划书
2014/01/04 职场文书
五年级学生评语
2014/04/22 职场文书
企业文化演讲稿
2014/05/20 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书
化验室岗位职责
2015/02/14 职场文书
放假通知
2015/04/14 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
请病假条范文
2015/08/17 职场文书
中学校园广播稿
2015/08/18 职场文书