批量修改RAR文件注释的php代码

我们打开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);
?>

(0)

相关推荐

  • PHP5.3以上版本安装ZendOptimizer扩展

    现在很多PHP程序都需要ZendOptimizer环境,但是ZendOptimizer在PHP5.2之后已经被支持,那怎么办,Zend也不会这么做,原来PHP5.3开始ZendOptimizer正式改为Zend Guard Loader. Zend Guard Loader的发布,而且Zend Optimizer不会再更新,并且由于差异很大使用Zend Guard加密代码时将提示你是否使用php5.3,如果使用5.3那么代码就无法在php5.2上运行. Zend Guard Loader安装说明

  • php zip文件解压类代码

    复制代码 代码如下: class zip { var $datasec, $ctrl_dir = array(); var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; var $old_offset = 0; var $dirs = Array("."); function get_List($zip_name) { $zip = @fopen($zip_name, 'rb'); if(!$zip) ret

  • php安装php_rar扩展实现rar文件读取和解压的方法

    本文实例讲述了php安装php_rar扩展实现rar文件读取和解压的方法.分享给大家供大家参考,具体如下: PHP Rar Archiving 模块 (php_rar) 是一个读取和解压rar文件的模块,但不提供RAR压缩(打包)的功能. 1.首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载对应版本的DLL. PHP版本要求:php_rar模块适用于php 5.2及以上, 不过对于windows系统,似乎只有php5.3 / 5.4对应的DLL下载. 2.下载到的是个zip包,将

  • Linux下为PHP添加扩展库的方法

    加上会出什么问题,不加会报什么错:所以在编译PHP的时候除了必要的目录指定,好多参数都没有加--等我在安装web程序的时候,才发现,很多参数是要加上的,但是我lnmp已经搭建好了,也不想重新编译,重新安装..于是就在网上找到了此文 一.添加FTP扩展 1.找到原来的源码包解压一下如:php-5.2.13进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp 2.调用phpize程序生成编译配置文件 复制代码 代码如下: root@dns ftp]# /usr/local

  • php通过文件头检测文件类型通用代码类(zip,rar等)

    有时候我们这样做还不完善.可能有些人上存一些文件,但是他通过修改扩展名,让在我们的文件类型之内. 单实际访问时候又不能展示(因为扩展名与文件内容不符).下面这个php类,可能能够给我们带来帮助.一.php检测类 首先说明下,上面文件头与文件类型映射关系来自网上,如果你有新的文件需要检查,只需要将映射加入即可. 如果你需要知道文件头信息,可以通过工具:winhex打开标准文件查找.如: 代码: 复制代码 代码如下: <?php /*通过文件名,获得文件类型* *@author chengmo* *

  • php实现zip文件解压操作

    PHP解压zip文件函数,源码简短,需要使用 ZZIPlib library 扩展,使用前请确认该扩展已经开启. <? /********************** *@file - path to zip file 需要解压的文件的路径 *@destination - destination directory for unzipped files 解压之后存放的路径 *@需要使用 ZZIPlib library ,请确认该扩展已经开启 */ function unzip_file($fil

  • PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

    要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于win系统,直接去掉php_zip.dll 扩展的注释,然后重启http服务(IIS或Apache)即可 Linux还没有试验,理论上差别不会很大 功能: 1.解压缩zip文件 2.将文件压缩成zip文件 3.追加文件到zip文件 4.将文件夹打包成zip文件(需要循环添加文件与创建空文件夹) 5.删除压缩文件中的条目 ----

  • php实现zip压缩文件解压缩代码分享(简单易懂)

    仔细的研究了一下,原来用php写的解压程序效率比想象的还是高很多的,既然这么好,干脆再优化一下后用到自己后台中,虽然现在大部分空间的控制面板中有压缩和解压这个功能,但是毕竟有时候有些麻烦. 做这个之前,没有接触过php压缩这一块,网上搜了一些,大多数都是php压缩类.压缩函数,少则几百行,多的就几千行代码.这对于我这种新手来说很摸不到头脑,再说我也不用这么复杂的功能.最后参考函数手册,理清楚了几个相关的函数后,就明白了怎么去整了. 记得要开启 zip ,把 php.ini 中的 extensio

  • PHP解压tar.gz格式文件的方法

    本文实例讲述了PHP解压tar.gz格式文件的方法.分享给大家供大家参考,具体如下: 1.运用php自带压缩与归档扩展(phar) $phar = new PharData('song.tar.gz'); //路径 要解压的文件 是否覆盖 $phar->extractTo('c:/tmp', null, true); 2.首先需要安装pear类管理工具 linux下 /usr/local/php/bin/pear install Archive_Tar wamp默认没有安装pear,  go-p

  • PHP执行zip与rar解压缩方法实现代码

    Zip:PclZip http://www.phpconcept.net/pclzip/index.en.php Rar:PECL rar http://pecl.php.net/package/rar 以往过去要在php下执行解压缩程序,无非最常见的方法是写command 然后用exec()等执行函式去跑 这在Windows下或许可以,但换成Unix话会碍于帐号权限问题而无法顺利执行 那有没有那种本身就有提供函式可以直接使用而不需要去下command去跑的方法呢 答桉有(话说找了好几天才找到可

  • php 解压rar文件及zip文件的方法

    对于zip文件网上的例子很多,rar文件解压php没有直接支持,可以用pecl到http://pecl.php.net/package/rar 下载对应版本的 非线程安全的dll然后扔到php的 ext目录下. 打开php.ini. 加一行 extension=php_rar.dll 重启web服务器 和php 复制代码 代码如下: public function _unzip($fileName,$extractTO){ $fileName = iconv('utf-8','gb2312',"

随机推荐