加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 云服务器、云原生、边缘计算、云计算、混合云存储!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP上传压缩包并自解压步骤

发布时间:2023-12-28 21:04:51 所属栏目:PHP教程 来源:DaWei
导读: 这篇文章主要介绍了PHP上传压缩包并自解压方法。
1、PHP上传压缩包并解压的大概流程:

普通上传功能->上传到服务器->加载系统组件->找到上传的文件并执行解压命令->成功解压到目录
这篇文章主要介绍了PHP上传压缩包并自解压方法。
1、PHP上传压缩包并解压的大概流程:

普通上传功能->上传到服务器->加载系统组件->找到上传的文件并执行解压命令->成功解压到目录 

2、PHP执行系统命令的几类函数:

(1)system() 输出并返回最后一行shell结果。

(2)exec() 不输出结果,返回最后一行shell结果

(3)passthru() 只调用命令,把运行结果原样地输出

(4)new com()  系统预定义com类,根据需要任意选择内置方法(操作方式再麻烦,但也是功能最全的)

3、Com组件的用法:

(1)$obj=new com("wscript.shell");//加载wscript.shell用来执行dos命令的组件

(2)$obj->run(“所要执行的命令内容”);//所要执行的命令和返回参数

由于只是说明原理,一些安全验证判断就不写出来了,大家可以自行补充。

通俗易懂,直接上代码:(记得打开PHP.ini里的com.allow_dcom = true)

<?PHP  

    if($_POST['submit']){

        $tmpname=$_FILES['filename']['tmp_name'];

        $filename=$_FILES['filename']['name'];

        $path=getcwd();//获取当前目录的绝对路径

        $filepath=$path.'\'.$filename;    

        move_uploaded_file($tmpname,$filename);

        $obj=new com('wscript.shell');

        //双引号可以解析变量

        $obj->run("winrar x $filepath $path",1,true);

        //删除源文件

        @unlink($filename);

    }

?>

    <form action="" method="post" enctype="multipart/form-data">

        上传文件:<input type="file" name="filename"/>

        <input type="submit" name="submit" value="上传文件并解压">

    </form>
 

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章