首頁 > 後端開發 > php教程 > 【php】读取"文件列表"按时间倒序展示,并递归显示各层目录、

【php】读取"文件列表"按时间倒序展示,并递归显示各层目录、

WBOY
發布: 2016-06-13 12:01:51
原創
1117 人瀏覽過

【php】读取"文件列表"按时间倒序显示,并递归显示各层目录、!

思路:

1.读取该php所在目录的文件列表,用"修改时间、文件名"做键值对,塞入数组。对"修改时间"倒序。(貌似不能直接按时间倒序读取文件列表,此处为间接方法)

2.读取的若为文件直接输出,为目录就输出目录并递归扫描其下文件。


<?php //遍历当前目录下所有文件的和目录,并以树装形式显示//1.打开目录句柄,获取句柄资源//2.读取句柄资源,并显示当前和子目录下的(目录和文件名称)function getDirFile($path){	if(!($file_handler=opendir($path)))		return;		$fileNTimes=array();	//遍历-当前目录的"文件",排除该php文件	while(false !== ($file=readdir($file_handler))){		if($file==&#39;.&#39; || $file==&#39;..&#39; || $file==&#39;index.php&#39;)			continue;		$fileNTimes[filemtime($path.&#39;/&#39;.$file)]=$file;	}	//倒序	krsort($fileNTimes);		foreach ($fileNTimes as $mtime=>$file)	{		$file_path="$path/$file";							//路径		$rel_path=str_replace(__DIR__."/", "", $file_path);	//相对路径		//若为-目录		if(is_dir($file_path)){			//根据"目录级别"缩进			if(substr_count($file_path,"/")>1){				$count=str_repeat("  ",substr_count($file_path,"/"));				echo $count.'+'.$file;			}else{				echo '+'.$file;			}			echo "<br>";			getDirFile($file_path);		}		//若为-文件		else{			if(substr_count($file_path,"/")>1){				$count=str_repeat("  ",substr_count($file_path,"/"));				echo $count.getFile_html($rel_path,$file).getTime_html($mtime);							}else{				echo getFile_html($file,$file).getTime_html($mtime);			}			echo "<br>";		}	}}function getTime_html($time){	return '<a style="font-size:10px;color:grey"> '.date('(Y-m-d H:m:s)',$time).'</a>';}function getFile_html($rel_path,$file){	return '<a href="'.%24rel_path.'">'.$file.'</a>';}//-----------------------------------------$path=__DIR__;getDirFile($path);?>
登入後複製


效果:




相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板