批量修改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 相关文章推荐
《APMServ 5.1.2》使用图解
Oct 23 PHP
生成卡号php代码
Apr 09 PHP
php 在文件指定行插入数据的代码
May 08 PHP
ThinkPHP标签制作教程
Jul 10 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
浅谈PHP中try{}catch{}的使用方法
Dec 09 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
PHP+MySql实现一个简单的留言板
Jul 19 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
AM/FM收音机的安装与调试
2021/03/02 无线电
php array_pop()数组函数将数组最后一个单元弹出(出栈)
2011/07/12 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
Python translator使用实例
2008/09/06 Python
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
查看django版本的方法分享
2018/05/14 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
解决python flask中config配置管理的问题
2019/07/26 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
大学生毕业自荐信
2013/10/10 职场文书
学期评语大全
2014/04/30 职场文书
项目建议书模板
2014/05/12 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
2015年档案室工作总结
2015/05/23 职场文书
Go语言特点及基本数据类型使用详解
2022/03/21 Golang
python中redis包操作数据库的教程
2022/04/19 Python