2016-09-16 63 views
-2

我想檢查根目錄中的文件擴展名,並檢查是否有任何文件夾或圖像,但我有問題,當用戶上傳文件不是擴展名,它是一個文件夾和文件將無法打開,因爲它實際上不是一個文件夾。PHP代碼來檢查文件沒有和擴展是否真的是一個目錄或文件

示例用戶上傳的名爲Makefile文件和make文件裏面包含這樣

WORKER_JS_TARGET = build/worker.js WORKER_JS_SOURCES = \ src/js/json2.js \ src/js/worker.coffee.js \ //and more.....

咖啡腳本代碼,並在同一目錄下,他也有文件夾命名爲Loader和文件box.php所以現在裝載機顯示爲文件夾,是好的,box.php顯示文件和是好的,但的Makefile顯示爲文件夾,但不是一個文件夾,我能做些什麼?

<?php 
$filename = 'datafile' 
$extn=pathinfo($filename, PATHINFO_EXTENSION); 

// Prettifies file type 
switch ($extn){ 

case "txt": $extn="Text File"; break; 
case "log": $extn="Log File"; break; 
case "htm": $extn="HTML File"; break; 
case "html": $extn="HTML File"; break; 
case "xhtml": $extn="HTML File"; break; 
case "shtml": $extn="HTML File"; break; 
case "php": $extn="PHP Script"; break; 
case "js": $extn="Javascript File"; break; 
case "css": $extn="Stylesheet"; break; 

default: if($extn!=""){ 
$extn = strtoupper($extn)." File"; 
} else if(!is_dir($name)){ 
$extn = "Other"; // After i pass this condition to check if is dir it show both Makefile and Loader as Other 
}else if(is_dir($name)){ 
$extn = "Directory"; 
} else{ 
$extn = "Unknown"; 
} break; 
} 
?> 

任何想法如何做到這一點工作很好?

回答

1

在這段代碼中,您可以從給定的上下文中檢查變量$name而不是$filename

} else if(!is_dir($name)){ //should be $filename 
$extn = "Other"; 
}else if(is_dir($name)){ //should be $filename 
$extn = "Directory"; 
} else{ 
相關問題