2016-09-16 7 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ファイルとして表示されても問題ありませんが、メイクファイルはフォルダとして表示されますが、フォルダではありません。

<?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

このコードでは、$filenameの代わりに$nameの変数をチェックしています。

} else if(!is_dir($name)){ //should be $filename 
$extn = "Other"; 
}else if(is_dir($name)){ //should be $filename 
$extn = "Directory"; 
} else{ 
関連する問題