批量修改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 多进程 解决难题
Jun 22 PHP
PHP Socket 编程
Apr 09 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
php通过文件流方式复制文件的方法
Mar 13 PHP
怎样搭建PHP开发环境
Jul 28 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
yii2.0框架场景的简单使用示例
Jan 25 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数组无限分级数据的层级化处理代码
2012/12/29 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
Python实现的knn算法示例
2018/06/14 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
好的自荐信的要求
2013/10/30 职场文书
家长对孩子评语
2014/01/30 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android
Python find()、rfind()方法及作用
2022/12/24 Python
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS