PHP For循环目录列表;t建立链接


PHP For Loop Directory Listing Doesn't Make Links

我一直在尝试制作一个简单的php应用程序,它读取图像和文件夹的目录,可能包含其他文件夹和图像。基本上,它应该读取目录,然后将列表传递给一个javascript数组,该数组将以更好的方式显示指向图像/目录的链接(预览和其他不错的东西)。这应该是一个简单、漂亮的界面,但在这一点上,我甚至无法让php目录读取正常工作。

我目前有以下代码:

<?php
$dir    = $_SERVER["DOCUMENT_ROOT"] . '/';
$files = scandir($dir);
for ($x = 0; $x <= 10; $x++) {
   echo "<href src='/" . $files[$x] . "'>" . $files[$x] . "</href><br>";
}
?>

当这个代码运行时,它会打印出这样的东西:

.
..
Directory/File name 1
Directory/File name 2
Directory/File name 3
And so on

它应该做的是打印出所有文件,并将它们链接到正确的页面。它所做的正是这样,只有一个例外。当它打印出来时,我无法点击任何链接,它们也不是蓝色的。如果我检查元素并查看源代码,它会显示正确插入页面的链接,但它们不会显示为链接。

这是我现在的主要问题,还有一个点和两个点。我是一个PHP新手,不知道如何摆脱这些。在for循环中,我也不能使它不限于10个项目。我不知道如何解决这些问题,我真的很感激在这方面得到任何帮助,或者只是朝着正确的方向努力。

提前感谢,Emanuel

您应该对要回显的HTML使用a href='link'

for ($x = 0; $x <= 10; $x++) {
   echo "<a href='/" . $files[$x] . "'>" . $files[$x] . "</a><br>";
}

至于...,它们分别是当前目录符号和父目录符号。要删除这些,您可以使用以下方法将它们从阵列中删除:

$files = array_slice(scandir('/path/to/directory/'), 2);

参考文献(你应该阅读):

  • HTML标记(锚标记)
  • scandir手册