PHP scandir of an url

2019-01-27 09:13发布

How can I use scandir with an URL. Now it looks like PHP doesn't see the URL as an URL. Is there a way to use an URL in scandir?

<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>

标签: php url scandir
2条回答
叛逆
2楼-- · 2019-01-27 09:38

This is not possible. scandir() and many other file operations only work local.

If you want to get a list of files on a remote server then you need a script/API on the server that will return that file list.

Just imagine what would happen if you could read all files and directories on a remote machine? Security would be realy compromised.

查看更多
倾城 Initia
3楼-- · 2019-01-27 09:43

Scandir works perfectly for local directory.

scandir — List files and directories inside the specified path

But you can't get list of files onto server, because in many cases urls are not directly mapping on files (e.g., location command of nginx webserver). Also webservers usually block possibility of getting list files for directories (see this settings for apache)

查看更多
登录 后发表回答