晓夏

小皇

教育信息化方案砖家

php列出文件和目录,区分目录和文件

浏览量:702

function getFileList($directory) {//获取文件列表。这个函数非常危险!!!!!!这个谨慎使用,可以列出服务器上的任何位置文件
		$files = array();        
		if(is_dir($directory)) {        
			if($files = scandir($directory)) {        
				$files = array_slice($files,2);        
			}        
		}        
		return $files;        
	}


public function index(){//这个必须是 ji_upload/files/下面的,必须去掉..等符号
		$directory = $_GET['dir'];
		$directory = "ji_upload/files/".str_replace("..","",$directory);
		$files = $this->mylib->getFileList($directory);
		echo "<!doctype html><html><head><meta charset='utf-8'><title>page</title><style type='text/css'>li{line-height: 30px; list-style:none;}</style></head><body>";
		foreach($files as $id=>$f){
				$v=$f;
				$f = str_replace("&","%26",$f);
				$f = htmlspecialchars($f);
				$checkResult = is_file($directory."/".$f);//检测是不是文件,如果不是,就是文件夹
				if($f != 'Thumbs.db'){
					if($checkResult){
						echo "<li class='file'>file★ <a href='/".$directory.'/'.$f."' target='_blank'>".$f."</a></li>";
					}else{
						echo '<li class="dir">dir ☆ <a href="'.$_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"]."/".$f.'">'.$v.'</a></li>';
					};
				}
		}
		echo "</body></html>";
	}


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。