在<选择>中显示服务器文件


Show server files in a <select>

我需要在<select>中显示存储在名为"uploads"的文件夹中的文件。此时我的代码如下:

<?php
  echo "<select class='select' name='delete'>";
  function get_directory22($path){
  if (is_dir($path)){
   $gestor = opendir($path);
   while (($file= readdir($gestor)) !== false)  {
    $complete_path = $path . "/" . $file;
       if ($file!= "." && $file != ".." && $file!= ".htaccess") {
        if (is_dir($complete_path)) {
         echo '<option value= "uploads/client1/' . $file. '"</option>';
           get_directory22($complete_path);
           } else {
             echo 'error';
             }
           }
         }
         closedir($gestor);
         } else {
           echo "No es una ruta de directorio valida<br/>";
       }
     }
       get_directory22("uploads/client1");
        echo "</select>";
 ?>

我不知道为什么它失败了,但选择只显示一个空白。

糟糕的 html:

     echo '<option value= "uploads/client1/' . $archivo . '"</option>';
                                                            ^---

您正在生成

<option value= "uploads/client/1/foo/bar"</option>
                                         ^---missing >

如果您费心打开浏览器的"视图源代码"或 DOM 检查器,您会立即看到损坏的 html。

尝试替换此行

echo '<option value= "uploads/client1/' . $archivo . '"</option>';

有了这个

echo '<option value= "uploads/client1/' . $archivo . '">' . $archivio . '</option>';

同时按F12并查看您网站的 html 代码可能有助于解决将来的问题