2012-09-17 100 views
1

我正在創建一個簡單的webapp,我的學生可以使用它將他們的項目(作爲.zip文件)上傳到我的服務器。這個應用程序需要.zip>解壓縮它>顯示一個鏈接到他們的web項目。從php中只提取特定的文件類型使用php

我使用PHP函數這樣,解壓壓縮文件:

function openZip($file_to_open) { 
    global $target; 

    $zip = new ZipArchive(); 
    $x = $zip->open($file_to_open); 
    if($x === true) { 
     $zip->extractTo($target); 
     $zip->close(); 

     unlink($file_to_open); 
    } else { 
     die("There was a problem. Please try again!"); 
    } 
} 

是它可以檢查文件的類型被提取,並只允許特定的文件類型,以獲得解壓?並不是說我不相信我的學生......只是想確保沒有任何惡意進入我的服務器。

我的學生將上傳簡單的網絡項目,所以我只想允許提取.html,.css和.js(以及圖像文件類型和目錄)。

+0

也許[這個答案](http://stackoverflow.com/questions/11387993/php -ziparchive-unzip-only-certain-extensions)可能很有用。 – 2012-09-17 21:12:29

回答

0

你總是可以嘗試finfo_file()這樣的:

$finfo = finfo_open(FILEINFO_MIME_TYPE); 
echo finfo_file($finfo, "yourfile.zip"); 
finfo_close($finfo); 
相關問題