PHP的scandir

时间:2016-03-07 09:34:11

标签: php url scandir

如何将scandir与URL一起使用。现在看起来PHP没有将URL看作URL。有没有办法在scandir中使用URL?

<form action="new_exercise.php?id=<?php echo $new_id; ?>" method="post">
        <input class="" type="text" name="name_exe" required placeholder="Project naam">
        <select name="audio" required>
          <option></option>
          <?php
          $path = 'URL comes here';
          $results = scandir($path);
          foreach ($results as $result) {
              if ($result === '.' or $result === '..') continue;

              if (is_dir($path . '/' . $result)) {
                  echo "<option>" . $result . "</option>";
              }
          }
          ?>
        <select>
        <input class="btn-success" type="submit" name="submit" value="Maak nieuwe opdracht">
    </form>

2 个答案:

答案 0 :(得分:1)

这是不可能的。 scandir()和许多其他文件操作只能在本地工作。

如果要获取远程服务器上的文件列表,则需要在服务器上提供将返回该文件列表的脚本/ API。

想象一下如果你能读取远程机器上的所有文件和目录会发生什么?安全性将受到妥协。

答案 1 :(得分:0)

Scandir适用于本地目录。

  

scandir - 列出指定路径中的文件和目录

但是你无法将文件列表送到服务器上,因为在很多情况下,url不直接映射到文件上(例如,nginx webserverlocation命令)。此外,Web服务器通常会阻止获取目录列表文件的可能性(请参阅apache的此设置)