就是扫描本目录下有没有压缩文件 如果有对其进行解压,解压完成后删除压缩包
本人不懂PHP,希望高手帮帮忙

解决方案 »

  1.   

    网上有实例 ,这种问题就算高手也解答不出,不能用常规的PHP方法去想的。。现实点,,抄网上实例吧
      

  2.   


    我要是懂PHP,我也就抄了,
    关键是不懂PHP,抄都不知道咋抄
      

  3.   

    关键看你的压缩文件是什么格式的,比如说zip,tar,rar都不一样
    另外看你采用什么方式,直接靠php解压缩,靠php+系统命令解压缩
    给你一个演示,具体介绍看手册如需在服务器上运行 Zip File 函数,必须安装这些库:
    Guido Draheim 的 ZZIPlib 库:下载 ZZIPlib 库<?php
        function ezip($zip, $hedef = '')
        {
            $root = $_SERVER['DOCUMENT_ROOT'];
            $zip = zip_open($root . $zip);
            while($zip_icerik = zip_read($zip)):
                $zip_dosya = zip_entry_name($zip_icerik);
                if(strpos($zip_dosya, '.')):
                    $hedef_yol = $root . $hedef .$zip_dosya;
                    touch($hedef_yol);
                    $yeni_dosya = fopen($hedef_yol, 'w+');
                    fwrite($yeni_dosya, zip_entry_read($zip_icerik));
                    fclose($yeni_dosya); 
                else:
                    @mkdir($root . $hedef .$zip_dosya);
                endif;
            endwhile;
        }
        
        foreach (glob("*.zip") as $filename) 
        {
            echo "ezip $filename : \n";
            $path = basename($filename, '.zip');
            ezip($filename, './' . $path . '/');
        }
      

  4.   

    我觉得这种东西靠PHP是不行的,别忘了PHP是C语言写的,,C语言应该可以做解压缩软件吧,那么再怎么把它搞到PHP上,啊非我等能力之所及了。。
      

  5.   

    没错,php手册里zip部分有的,rar也有
    只是人们不看
      

  6.   


    不是不看,而是不常用。。有谁会用PHP去解压缩东西呢???试问
      

  7.   

    希望高手们能根据我的需求写一个文件出来,可以加分,
    PHP我要是懂也就不麻烦各位了,现在急着用,临时去学也来不急,请高手救急
      

  8.   


    谢谢
    不过我看不懂PHP,开头我就已经说明了
      

  9.   


    你就是给钱,估计也没有人给你做,先把我的问题给回答了以后再说吧1. 关键看你的压缩文件是什么格式的,比如说zip,tar,rar都不一样
    2. 另外看你采用什么方式,直接靠php解压缩,靠php+系统命令解压缩
    3. 你用的什么系统这决定开发的成本!
      

  10.   


    .rar
    直接靠php
    windows
      

  11.   

    <?php
    //首先去这里下载一个rar扩展 我的php是 5.2.6 vc6 nts版,注意下你自己php对应的版本
    //http://kromann.info/download.php?strFolder=php5_2-Release&strIndex=PHP5_2
    //php.ini增加extension=php_rar.dll
    //重启你的服务器
    //如果以上步骤不会的话,建议放弃吧,别给自己找麻烦事define('ROOT', dirname(__FILE__) . '/');/**
     * 对于一个rar文件进行解压在指定位置
     * @param string $rar 文件
     * @param $path 解压缩的路径
     * 
     */
    function erar($rar, $path = '') {

    if(!function_exists('rar_open')) {
    exit('孩子放弃吧');
    }

    if(!is_dir($path)) {
    @mkdir($path, 0777, true) or exit('目录写失败');
    }

    $rar = @rar_open($rar) or exit($rar . '打开失败,要不你放弃吧');

    $entries = rar_list($rar);
    foreach($entries as $entry) {
    echo '解压 ', $path, $entry->getName(), ', ';
    $bool = $entry->extract($path);
    echo $bool ? '成功' : '失败', "\n";
    }
    rar_close($rar);
    }// 基于当前文件所在目录的相对路径
    $path = '';
    $ext = '.rar';foreach(glob(ROOT. $path . '*' . $ext) as $filename) {
    echo "<pre>erar $filename : \n";
    $_path = basename($filename, $ext);

    erar($filename, ROOT. $path . $_path . '/');

    //尝试删除
    if(!@unlink(ROOT. $path.$filename)) {
    echo '这玩意还是靠手动删来的靠谱,', $filename;
    }
    }
      

  12.   


    你写程序还真有意思那个php_rar.dll 我下载了不知多少个了,就是用不了,上面那个也不可以选择版本,我的PHP是5.2.1  那像php_rar.dll比PHP的版本高就不能用
      

  13.   

    成功了,结帖
    感谢 hnxxwyq