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>

轻松搞定~

PHP上传压缩包并自解压方法的更多相关文章

  1. 修改PHP上传文件大小限制的方法

    感谢分享,原文地址:http://www.cnblogs.com/newsouls/archive/2012/12/27/2835628.html 修改PHP上传文件大小限制的方法1. 一般的文件上传 ...

  2. Java 微信公众号上传永久素材的方法

    Java 微信公众号上传永久素材的方法 学习了:http://blog.csdn.net/u013791374/article/details/53258275 膜拜一下,源码如下: @Request ...

  3. javascript jssdk微信上传一张图片的方法

    javascript jssdk微信上传一张图片的方法 <pre> wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'co ...

  4. PHP实现多文件上传的一些简单方法

    下面我们就通过具体的代码示例,为大家介绍PHP实现多文件上传的一些简单方法. 第一种方法:利用单个文件上传方法 一段简单的form表单代码如下: <!DOCTYPE html> <h ...

  5. PHP之文件的锁定、上传与下载的方法

    1.文件锁定 现在都在讲究什么分布式.并发等,实际上文件的操作也是并发的,在网络环境下,多个用户在同一时刻访问页面,对同一服务器上的同一文件进行着读取,如果,这个用户刚好读到一半,另一个用户就写入了消 ...

  6. 小程序--->小程序图片上传阿里OSS使用方法

    小程序图片上传阿里OSS使用方法 首先看下参考文档 ( http://blog.csdn.net/qq_38125123/article/details/73870667) 这里只将一些运用过程中遇到 ...

  7. tp5上传压缩包到相应文件并自动解压到相应文件下

    <?phpnamespace app\admin\controller\upload; use app\common\controller\Backend;use think\db;use th ...

  8. 修改WordPress中上传附件2M大小限制的方法/php+iis上传附件默认大小修改方法

    在服务器上架设好WordPress后,使用过程中发现,上传附件大小有2M的限制 话说服务器就是本机,可以直接把文件拖到附件存储文件夹下,然后在需要附件的地方引用链接 可是这种落后的方法终究不是办法,还 ...

  9. 有道云笔记Markdown上传本地图片的方法

    有道云笔记截图&保存   方法有多种,例如:开通有道云笔记VIP会员.先将图片文件上传到有道云笔记后使用图片的分享链接.说到底还是使用的 Markdown 的图片功能 ![图片名称](图片链接 ...

随机推荐

  1. Yum Priorities

    简介 Linux 发行版比较多,同时还有很多个人或组织维护了某些特定用途的安装/升级源.Yum Priorities 插件可以用来强制保护源.它通过给各个源设定不同的优先级,使得系统管理员可以将某些源 ...

  2. andriod自定义视图

    一.通过View实现自定义视图 通过构造函数创建可视界面 public class MyView extends View { // Constructor required for in-code ...

  3. setOnPageChangeListener 过时了怎么办?

    今天使用ViewPager发现setOnPageChangeListener的方法竟然过期了.并且AS编译不通过了,最后查了一下原来把set换成add了,代码例如以下: setOnPageChange ...

  4. NSDateFormater格式化参数汇总

    NSDateFormatterhtml, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: ...

  5. python获取软件安装列表2222

    softer_installed_list ===================== 使用python编写的,获取本机软件安装列表,输出为html表格. * win7 32位环境下运行 * 使用的是 ...

  6. 【WPF】屏幕右下角消息提示框

    WPF做一个仿QQ的右下角消息提示窗,网上找到几个Demo后,选了一个比较好用的. 博客 http://blog.csdn.net/huangli321456/article/details/5052 ...

  7. swing自定义border

    public class MyBorder extends AbstractBorder { private static final long serialVersionUID = 1L; priv ...

  8. hbase源码系列(二)HTable 探秘

    hbase的源码终于搞一个段落了,在接下来的一个月,着重于把看过的源码提炼一下,对一些有意思的主题进行分享一下.继上一篇讲了负载均衡之后,这一篇我们从client开始讲吧,从client到master ...

  9. const_cast的应用

    对于const变量,我们不能修改它的值,这是这个限定符最直接的表现.但是我们就是想违背它的限定希望修改其内容怎么办呢?于是我们可以使用const_cast转换符是用来移除变量的const限定符.con ...

  10. JSP字符集编码集合

    在这里,我们先说说JSP/Servlet中的几个编码的作用. 在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding="UTF-8".contentT ...