PHP 取得指定目錄下所有檔案(包含子目錄)
測試環境在linux下,如果要在windows,請改正$new_dir中的目錄路徑查找方式
<?<span>php function get_file_list($dir) { </span><span> $file_list </span>=<span> array(); $file_dir_list </span>=<span> array(); $dir_list </span>= scandir($dir); <span>//</span><span>查找目录 </span><span>foreach</span> ($dir_list <span>as</span><span> $r) { </span><span>if</span> ($r == <span>'</span><span>.</span><span>'</span> || $r == <span>'</span><span>..</span><span>'</span><span>) { </span><span>continue</span><span>; } $new_dir </span>= $dir . <span>'</span><span>/</span><span>'</span><span> . $r; </span><span>if</span><span> (is_dir($new_dir)) {</span><span> $file_dir </span>=<span> get_file_list($new_dir); $file_dir_list </span>=<span> array_merge($file_dir_list, $file_dir); } </span><span>else</span><span> { $file_list[] </span>=<span> $new_dir; } } </span><span>return</span><span> array_merge($file_list, $file_dir_list); } $file_list </span>= get_file_list(<span>'</span><span>.</span><span>'</span><span>); print_r($file_list);</span>
scandir定義和用法
scandir(directory,sort,context)
若成功,則傳回一個數組,若失敗,則回傳 false。如果 directory 不是目錄,則傳回布林值 false 並產生一條 E_WARNING 等級的錯誤。
語法
<?<span>php print_r(scandir(</span><span>"</span><span>images</span><span>"</span><span>)); </span>?>
參數 | 描述 |
---|---|
directory | 必需。規定要掃描的目錄。 |
sort | 可選。規定排列順序。預設是 0 (升序)。如果是 1,則為降序。 |
context | 可選。規定目錄句柄的環境。 context 是可修改目錄流的行為的一套選項。 |
範例
<span>Array ( [</span><span>0</span>] =><span> . [</span><span>1</span>] =><span> .. [</span><span>2</span>] =><span> dog.jpg [</span><span>3</span>] =><span> house.jpg [</span><span>4</span>] =><span> logo.gif )</span>
輸出:
rrreee
以上就介紹了PHP 獲取指定目錄下所有檔案(包含子目錄),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。