批量修改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 25 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
浅析PHP的ASCII码转换类
Jul 05 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
用php守护另一个php进程的例子
Feb 13 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP getNamespaces()函数讲解
Feb 03 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
PHP中类与对象功能、用法实例解读
Mar 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制作静态网站的模板框架(四)
2006/10/09 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
Google 静态地图API实现代码
2010/11/19 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
webpack4简单入门实例
2018/09/06 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
报社实习生自荐信
2014/01/24 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL