<?php $path='./'; if(isset($_GET['dir'])){ $path=$path.$_GET['dir']; } $dh=opendir($path); if($dh===false){ echo '打開出錯'; exit; } while(($item = readdir($dh))!==false){ $list[]=$item; } print_r($list); closedir($dh); print_r($_SERVER); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>文件管理系統</h1> <table> <tr> <td>序號</td> <td>文件名</td> <td>操作</td> </tr> <?php foreach ($list as $key => $value) { ?> <tr> <td><?php echo $key ?></td> <td><?php echo $value ?></td> <td><?php if(is_dir($path.$value) && ($value=='.')) { echo '<a href="new1.php?dir=',$value,'/">瀏覽</a>'; }elseif(is_dir($path.$value)) { echo '<a href="new1.php?dir=',$value,'">瀏覽</a>'; }elseif(!(is_dir($path.$value))){ echo '<a href="./',$value,'">查看</a>'; } ?></td> </tr> <?php } ?> </table> </body> </html>
使用get方法傳遞一個值爲.(點)的參數,導致文件夾目錄消失。用if判斷值爲.後追加/可解決此問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.