批量修改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 25 PHP
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
Feb 16 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
PHP闭包实例解析
Sep 08 PHP
PHP针对JSON操作实例分析
Jan 12 PHP
PHP数学运算函数大汇总(经典值得收藏)
Apr 01 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 PHP
在laravel框架中实现封装公共方法全局调用
Oct 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
javascript,php获取函数参数对象的代码
2011/02/03 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
DOM 基本方法
2009/07/18 Javascript
jquery中实现标签切换效果的代码
2011/03/01 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
整理Javascript基础语法学习笔记
2015/11/29 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
python使用分治法实现求解最大值的方法
2015/05/12 Python
Python实现统计代码行的方法分析
2017/07/12 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
对Django外键关系的描述
2019/07/26 Python
django和vue实现数据交互的方法
2019/08/21 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
幼儿园小班植树节活动方案
2014/03/04 职场文书
社区志愿者培训方案
2014/06/10 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
经典导游欢迎词
2015/01/26 职场文书
教师求职信怎么写
2015/03/20 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers