批量修改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日历程序
Dec 06 PHP
真正的ZIP文件操作类(php)
Jul 21 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
PHP实现货币换算的方法
Nov 29 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
May 14 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实现批量查询清除一句话后门的代码
2008/01/20 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
javascript中Function类型详解
2015/04/28 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
python检查URL是否正常访问的小技巧
2017/02/25 Python
pycharm安装图文教程
2017/05/02 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Python 多进程原理及实现
2020/12/21 Python
python字典与json转换的方法总结
2020/12/28 Python
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
struct与class的区别
2014/02/03 面试题
最新的咖啡店创业计划书
2013/12/30 职场文书
面试后的英文感谢信
2014/02/01 职场文书
产品包装策划方案
2014/05/18 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
学校体育节班级口号
2015/12/25 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python