專案需要,需要寫乙個函式,能夠遍歷指定目錄中的所有檔案,而且這個目錄中的子目錄也要遍歷。輸出檔案的屬性資訊,並儲存。
專案過程中,便於操作,使用了json格式儲存,但是也發現了一些問題。謹此記錄問題及**,便於參考。
<?phpdefine('indexformat',"dir,name,size,perms,ower,group,ctime,mtime,atime,suffix") ;
define('indextxt', 'data/index.txt');
define('indexjson', 'data/index.json');
date_default_timezone_set('asia/hong_kong');
if (file_exists
(indextxt))
$dir = './';
getindexfile(
$dir
);
/** get index file
* @filename indextxt
* @dir string
**/function getindexfile($dir,$whitelist='')
else
elseif(is_dir($dir.$filename
)) }}}
if (!file_exists
(indextxt))
//$data =json_encode(getindexfromfile());
//file_put_contents(indexjson,$data);
return
true
; }
/** get index file
* @filename file.index
**/function putindexfile($file
)
$format = explode(',',indexformat);
$string = "";
foreach ($format
as$key => $value
)
$string .= getfileattr($file,$value
); }
$string .= "\n";
}/**
* get index string from index file
* @return array()
*
*/function getindexfromfile($flag='')
$arr = file
(indextxt);
$format = explode(',',indexformat);
$result = array
();
if(!empty($flag
))
foreach ($arr
as$str
) }
else}}
return
$result
; }
/** get file attributes
* @var $file
* @var $flag
* @return string
*/function getfileattr($file,$flag
)
switch ($flag
) }
/** get file size human readable
*/function getfilesizeformat($file
)
$flags = array('', 'k', 'm', 'g', 't');
for ($i = 0; $size >= 1024 && $i
< 4; $i++) $size /= 1024;
return
round($size, 2).$flags[$i
]; }
php 禁止遍歷目錄,php無限遍歷目錄
以上就介紹了php無限遍歷目錄,包括了方面的內容,希望對php教程有興趣的朋友有所幫助。用的函式有 isset 判斷某個變數是否定義chdir 將當前目錄改變為指定的目錄。opendir 開啟目錄。readdir 讀取目錄。getcwd 獲取當前目錄。還用到了for if get傳值 大概就這些東東...
php遍歷指定目錄中的內容2
輸出檔案是否可讀寫,可執行,並同時輸出建立時間,修改時間,訪問時間 2.遍歷指定目錄中的內容 if arr file round函式對浮點數進行四捨五入 size round size,2 arrbyte i readresult is readable path.val 可讀 不可讀 writer...
VC C 遍歷指定目錄 Windows API
handle findfirstfile lpctstr lpfilename,lpwin32 find data lpfindfiledata bool findnextfile handle hfindfile,lpwin32 find data lpfindfiledata include i...