普通上传功能->上传到服务器->加载系统组件->找到上传的文件并执行解压命令->成功解压到目录
(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'];
$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>
轻松搞定~
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。