PHP上传RAR压缩包并解压目录
2012-07-17 20:47
176 查看
一、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>
普通上传功能-->上传到服务器-->加载系统组件-->执行解压命令-->成功解压到目录(其中加载的系统组件是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>
相关文章推荐
- PHP上传RAR压缩包并解压目录
- PHP上传RAR压缩包并解压到目录
- PHP上传RAR压缩包并解压目录
- PHP上传RAR压缩包并解压类
- 8行代码实现PHP上传RAR文件并解压
- php上传zip文件在线解压文件在指定目录下,CI框架版本
- php 解压zip压缩包内容到指定目录的实例
- php 解压zip压缩包内容到指定目录
- PHP上传压缩包并自解压方法
- php实现上传压缩包后自动解压
- 把自解压的RAR压缩包解压到指定的软件安装目录
- PHP自动解压上传的rar文件
- lnmp去掉nginx上传目录的PHP执行权限
- PHP上传文件到指定目录(Zend Studio 12.5)
- 批量转换csv为excel和批量解压目录下所有压缩包的文件
- 重大漏洞, 让Apache上传不安全-php.rar
- rz 上传到服务器,压缩包解压失败
- PHP 多级目录上传方法
- PHP 跨目录档案上传漏洞
- C# 上传RAR文件 解压 获取解压后的文件名称