批量修改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 clearstatcache()函数详解
Mar 02 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
php对数组排序的简单实例
Dec 25 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
Dec 02 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
php获取小程序码的实现代码(B类接口)
Jun 13 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
国内咖啡文化
2021/03/03 咖啡文化
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
jquery插件之easing 动态菜单
2010/08/21 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
详解vue的双向绑定原理及实现
2019/05/05 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Python随手笔记之标准类型内建函数
2015/12/02 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
python 字符串常用方法汇总详解
2019/09/16 Python
python怎么对数字进行过滤
2020/07/05 Python
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
高考自主招生自荐信
2013/10/20 职场文书
酒店led欢迎词
2014/01/09 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
Window server中安装Redis的超详细教程
2021/11/17 Redis