PHP 遍歷目錄下面所有檔案(案例)
阿新 • • 發佈:2019-02-11
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{padding: 0;margin: 0; list-style: none;} body>.father{ margin:20px 0 0 20px; } b{ display: inline-block; width: 26px;} i{ display: inline-block; width: 15px; height: 15px; margin-right: 3px; position: relative; top: 1px; cursor: pointer; } .child-dir i:before{ content: ''; display: inline-block; width: 15px; height: 15px; background: url('./images/dir.png'); background-size: 15px; } .child-file i:before{ content: ''; display: inline-block; width: 15px; height: 15px; background: url('./images/file.png'); background-size: 15px; } .father{ display: none; } .father:first-child{ display: block; } </style> <script src="./jquery.js"></script> <script> $(function(){ $('.child-dir i').click(function(){ $(this).parent().next('.father').toggle(); }); }); </script> </head> <body> <?php header('Content-type:text/html;charset=utf-8'); function showAllFiles($fileName,$bar=''){ echo '<div class="father">'; // 開啟資源控制代碼 $handle = opendir($fileName); // 讀取 . 和 .. $file = readdir($handle); $file = readdir($handle); // 遍歷 while($file = readdir($handle)){ // 將檔名拼接成目錄 $newFile = $fileName.'/'.$file; // 將檔案編碼轉為utf-8 $file = iconv('gbk', 'utf-8', $file); // 判斷是否是目錄 if(is_dir($newFile)){ // 如果是目錄 再次呼叫showAllFiles() echo '<div class="child-dir">'.$bar.'<i></i>'.$file.'</div>'; // $bar .='<b></b>'; showAllFiles($newFile,$bar.'<b></b>'); }else{ // 如果不是輸出檔案資訊 echo '<div class="child-file">'.$bar.'<i></i><a href="'.$newFile.'">'.$file.'</a></div>'; } } echo "</div>"; closedir($handle); } showAllFiles('../'); ?> </body> </html>
執行結果: