使用php打开目录文件夹

时间:2013-06-19 07:40:02

标签: php directory glob opendir

我正在尝试构建自己的文件目录,但是我已经被困在一个部分上一天,并且无法弄清楚如何处理这个问题。当下面的代码运行时,我检查它的文件或目录我想要实现的是当代码在点击打开文件夹时检测到它是一个目录时它会打开包含它包含的文件列表的文件夹,任何人都可以在这里帮助我并告诉我如何处理这个问题?

echo'<table style="background-color: beige; padding: 10px; border: 1px dashed #999;">';
echo'<tr>
<th>File Name</th>
<th colspan="3">Action</th>
</tr>';
foreach(glob('language/*') as $filename){
if ($filename != 'connect.php' && $filename != 'edit.php' && $filename != 'index.php' && $filename != 'nbproject'){
if(is_file($filename)){
echo'<tr>
<td>'.$filename.'</td>
<td><a href="'.$filename.'" name="ru">RU</a></td>
<td><a href="'.$filename.'" name="eng">ENG</a></td>
<td><a href="'.$filename.'" name="lt">LT</a></td>
</tr>';
var_dump($filename);
}
else if(is_dir($filename)){
echo '<tr>
<td>'.$filename.'</td>
<td colspan="3"><a href="'.$filename .'" name="open" >Open Folder</a><td>
</tr>';
}
}
}
echo'</table>';

我想我可以使用opendir函数或glob函数实现此功能 正确的轨道上 ? tnx的帮助。

P.S。 我使用glob来阅读我的目录的另一个问题是readdir更好地实现这一目标还是没有区别?并随意指出我的代码中的任何其他缺陷:)

1 个答案:

答案 0 :(得分:2)

您不需要表单标记。您应该直接从标记的href属性传递包含文件夹名称的变量。 e.g。

<a href="myscript.php?folder=<?php echo $foldername ?>"><?php echo $foldername ?></a>

请务必正确检查用户尝试打开的目录是否可以安全访问,否则会产生严重的安全后果。