zoukankan      html  css  js  c++  java
  • PHP上传RAR压缩包并解压目录

    一、PHP上传并解压的原理
         普通上传功能-->上传到服务器-->加载系统组件-->执行解压命令-->成功解压到目录(其中加载的系统组件是rar、zip等)
    二、PHP执行系统命令的几类函数及区别
        PHP中三个调用系统命令的函数system(), exec(), passthru() 比较:
           system()   输出并返回最后一行shell结果。
           exec()   不输出结果,返回最后一行shell结果
           passthru() 只调用命令,把运行结果原样地输出
           new com()  系统预定义com类,根据需要任意选择内置方法
    相同点:都可以获得命令执行的状态码
    三、使用PHP 预定义的Com组件加载Shell
           $obj=new com("wscript.shell");
       //加载wscript.shell用来执行dos命令的组件
           $obj->run(“所要执行的命令内容”);
           例子:Rar解压命令:  winrar x  被解压文件  加压的位置
    四、实例操作
    <?php
          if ($_POST['sub']){
             $tmpname = $_FILES['filename']['tmp_name'];
             $filename = $_FILES['filename']['name'];
    move_uploaded_file($tmpname,$filename);
    $dir = getcwd();
    $obj = new com("wscript.shell");
    $obj->run("winrar x $dir\".$filename." ".$dir, 1, true);
    unlink("$filename");
       }
    ?>
    <form enctype="multipart/form-data" action="" method="POST">
    选择文件<input type="file" name="filename"/>
            <input type="submit" name="sub" value="提交并解压">
    </form>
  • 相关阅读:
    HDU4341 Gold miner 分组背包
    卡特兰数
    欧拉函数
    求一个阶乘数尾零的个数
    线性时间 筛素数,求前n个数的欧拉函数值,求前n个数的约数个数
    HDU4335 What is N? 欧拉函数,欧拉定理
    HDU4336 Card Collector 容斥定理 Or 概率DP
    ie8恶心的bug4个小时的教训
    39个超实用jQuery实例应用特效
    ECSHOP 模板结构说明
  • 原文地址:https://www.cnblogs.com/gxldan/p/4066859.html
Copyright © 2011-2022 走看看