0

我需要打开一个文件夹,列出目录,让用户选择选择的目录(它将是一个日期),然后显示一个 pdf 文件列表以选择打开。试过这个:

<?php 
$uploadDir = 'files/lap_times';
if ($handle = opendir($uploadDir)) {
   while (false !== ($file = readdir($handle))) {
      if ($file != "." && $file != "..") {
         $file_arr[] = $file;
      }
   }
   closedir($handle);
}
natcasesort($file_arr);
foreach ($file_arr as $file) {
   echo "<b><div class='item'><a href='files/lap_times/" . $file . "' target='_blank'>" . $file . "</a></div></b><p>";
}
?>

它得到了我的pdf。试着让它给我文件夹,但它让根目录打开,所以我把它改成只显示 pdf 文件。然后我压缩前几周,并将其作为文件选择呈现。不完全是我想要的。所以,会有一个文件夹 [Lap_times],在它下面有日期 <8-10-13>、<8-3-13> 的子目录。在这些文件夹中将驻留 pdf 文件。用户可以选择一个日期,然后打开一个pdf文件夹。并选择他们需要的,然后完成。我解释得够清楚了吗?

4

1 回答 1

0

这可能是您正在寻找的:

$uploadDir = (isset($_GET['date'])) ? 'files/lap_times/' . $_GET['date'] : 'files/lap_times/';

if (is_dir($uploadDir)) {
if ($handle = opendir($uploadDir)) {
   while (false !== ($file = readdir($handle))) {
      if ($file != "." && $file != "..") {
         $file_arr[] = $file;
      }
   }
   closedir($handle);

   natcasesort($file_arr);
foreach ($file_arr as $file) {
    if (isset($_GET['date'])) {
        echo "<b><div class='item'><a href='" . $uploadDir . "/" . $file . "' target='_blank'>" . $file . "</a></div></b><p>";
    } else {
        if (is_dir($uploadDir . "/" . $file)) {
        echo "<b><div class='item'><a href='?date=" . $file . "'>" . $file . "</a></div></b><p>";
        }
    }

}
} 

} else {
    echo "There are no files with this date.";
}

此代码显示具有不同日期的文件夹。当用户点击他们被定向到的日期时?date=[the date]。这将显示该日期的文件,然后可以打开这些文件。

于 2013-08-12T16:34:59.367 回答