我想检查根目录中的文件扩展名,并检查是否有任何文件夹或图像,但我在用户上传没有扩展名的文件时出现问题,表明它是一个文件夹,文件将无法打开,因为实际上不是文件夹。
示例用户上传了一个名为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
,所以现在 Loader 显示为文件夹,没关系, 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;
}
?>
关于如何做到这一点的任何想法都可以吗?
答案 0 :(得分:1)
在这段代码中,您从我从给定上下文中获取的内容中检查变量$name
而不是$filename
。
} else if(!is_dir($name)){ //should be $filename
$extn = "Other";
}else if(is_dir($name)){ //should be $filename
$extn = "Directory";
} else{