批量修改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调用三种数据库的方法(2)
Oct 09 PHP
第三节--定义一个类
Nov 16 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
php源码分析之DZX1.5加密解密函数authcode用法
Jun 17 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
Apr 27 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
浅谈laravel中的关联查询with的问题
Oct 10 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 is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
PHP学习记录之数组函数
2018/06/01 PHP
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
jQuery事件对象总结
2016/10/17 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
详解JS预解析原理
2020/06/16 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
python实现txt文件格式转换为arff格式
2018/05/31 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
利用python汇总统计多张Excel
2020/09/22 Python
python collections模块的使用
2020/10/16 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
实习会计求职自荐信范文
2014/03/10 职场文书
质量管理标语
2014/06/12 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
八年级物理教学反思
2016/02/19 职场文书
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
redis三种高可用方式部署的实现
2021/05/11 Redis
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技