批量修改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桌面中心(三) 修改数据库
Mar 11 PHP
php 图像函数大举例(非原创)
Jun 20 PHP
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
Aug 21 PHP
新手学习PHP的一些基础知识分享
Jul 27 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
PHP模板解析类实例
Jul 09 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
Yii中实现处理前后台登录的新方法
Dec 28 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
Node中使用ES6语法的基础教程
2018/01/05 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
网络工程师自荐书范文
2014/04/01 职场文书
解约证明模板
2015/06/19 职场文书
给校长的建议书范文
2015/09/14 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书
《惊弓之鸟》教学反思
2016/02/20 职场文书
关于保护环境的建议书
2019/06/24 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
详解JS数组方法
2021/11/20 Javascript
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记
2022微信温控新功能上线
2022/05/09 数码科技
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript