我正在为我的公司编写一个简单的网络报告系统。我为 index.php 编写了一个脚本,它获取“reports”目录中的文件列表并自动创建指向该报告的链接。它工作正常,但我的问题是 readdir() 不断返回 .和 .. 目录指针以及目录的内容。有什么方法可以防止这种遍历遍历返回的数组并手动剥离它们吗?

这是好奇的相关代码:

//Open the "reports" directory
$reportDir = opendir('reports');

//Loop through each file
while (false !== ($report = readdir($reportDir)))
{
  //Convert the filename to a proper title format
  $reportTitle = str_replace(array('_', '.php'), array(' ', ''), $report);
  $reportTitle = strtolower($reportTitle);
  $reportTitle = ucwords($reportTitle);

  //Output link
  echo "<a href=\"viewreport.php?" . $report . "\">$reportTitle</a><br />";
}

//Close the directory
closedir($reportDir);

最佳答案

在上面的代码中,您可以在 while 循环中作为第一行附加:

if ($report == '.' or $report == '..') continue;

关于PHP readdir() 返回 ". "和 ".. "条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1525850/

10-11 15:53