<?php
// 輸出目錄中的檔案
functionoutputcurfiles ($allowedtypes,$thedir){
//首先,我們確保目錄存在。
if(is_dir($thedir)){
//現在,我們使用scandir掃描目錄中的檔案。
$scanarray= scandir ($thedir);
//接著我們開始解析數組。
//scandir()用“.”和“..”統計檔案導航列表
//因此作為檔案,我們不應該列出他們。
for($i= 0;$i<count($scanarray);$i++){
if($scanarray[$i] !="."&&$scanarray[$i] !=".."){
//現在,進行檢查,以確保這是一個檔案,而不是一個目錄。
if(is_file($thedir."/".$scanarray[$i])){
//現在,因為我們將允許用戶端編輯這個檔案,
//我們必須檢查它是否是可讀和可寫。
if(is_writable($thedir."/".$scanarray[$i]) && is_readable($thedir."/".$scanarray[$i])){
//現在,我們檢查檔案類型是否存在於允許的類型數組中.
$thepath=pathinfo($thedir."/".$scanarray[$i]);
if(in_array ($thepath['extension'],$allowedtypes)){
//如果檔案符合規定,我們可以繼續輸出.
echo$scanarray[$i] ."<br />";
}
}
}
}
}
}else{
echo"對不起,這個目錄不存在.";
}
}
$allowedtypes=array("txt","html");
outputcurfiles ($allowedtypes,"testfolder");
///////////////////////////////////////////////////
functionrecurdir ($thedir) {
//First attempt to open the directory.
try{
if($adir= opendir ($thedir)){
//掃描目錄。
while(false !== ($anitem= readdir ($adir))){
//不統計目錄中包含“.”或“..”的情況
if($anitem!="."&&$anitem!=".."){
//此時如果是一個目錄,則縮排一點
//再去遞迴
if(is_dir($thedir."/".$anitem)){
?><span style="font-weight: bold;"mce_style="font-weight: bold;"><?phpecho$anitem; ?></span><?php
?><div style="margin-left: 10px;"mce_style="margin-left:10px;"><?php
recurdir ($thedir."/".$anitem);
?></div><?php
}elseif(is_file($thedir."/".$anitem)){
//此時輸出檔案.
echo$anitem."<br />";
}
}
}
}else{
thrownewexception ("Sorry, directory could not be openend.");
}
}catch(exception$e) {
echo$e->getmessage();
}
}
echo"<br />/////////////////////////////////////<br /><br />";
recurdir("testfolder");
//////////////////////////////////////////////////////////////////
echo"<br />/////////////////////////////////////<br /><br />";
functionsortfilesbydate ($thedir){
//首先,需要確保目錄存在。
if(is_dir($thedir)){
//接著,我們使用scandir掃描此目錄中的檔案.
$scanarray= scandir ($thedir);
$finalarray=array();
//然後開始解析數組
//scandir()用“.”和“..”統計檔案導航列表
//因此作為檔案,我們不應該列出他們.
for($i= 0;$i<count($scanarray);$i++){
if($scanarray[$i] !="."&&$scanarray[$i] !=".."){
//現在,我們檢查,以確保這是一個檔案,而不是一個目錄.
if(is_file($thedir."/".$scanarray[$i])){
//現在需要做的是迴圈資料到一個關聯陣列.
$finalarray[$thedir."/".$scanarray[$i]] =filemtime($thedir."/".$scanarray[$i]);
}
}
}
//至此,我們已經遍曆了整個數組,現在需要做的只是asort()它。
asort ($finalarray);
return($finalarray);
}else{
echo"對不起,這個目錄不存在.";
}
}
//然後,我們將函數指向我們需要查看的目錄.
$sortedarray= sortfilesbydate ("testfolder");
//至此,就可以按照如下形式輸出:
while($element= each ($sortedarray)){
echo"File: ".$element['key'] ." was last modified: ".date("F j, Y h:i:s",$element['value']) ."<br />";
}
?>