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
 1 <?php
 2     
 3     if($_POST['submit']){
 4         $tmpname=$_FILES['filename']['tmp_name'];
 5         $filename=$_FILES['filename']['name'];
 6         $path=getcwd();//獲取當前目錄的絕對路徑
 7         $filepath=$path.'\\'.$filename;    
 8 
 9         move_uploaded_file($tmpname, $filename);
10 
11         $obj=new com('wscript.shell');
12         //雙引號可以解析變量
13         $obj->run("winrar x $filepath $path",1,true);
14         //刪除源文件
15         @unlink($filename);
16 
17 
18     }
19 
20 
21 ?>
22 
23 
24     <form action="" method="post" enctype="multipart/form-data">
25         上傳文件:<input type="file" name="filename"/>
26         <input type="submit" name="submit" value="上傳文件並解壓">
27     </form>

輕松搞定~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM