Как использовать scandir с URL-адресом. Теперь похоже, что PHP не видит URL в качестве URL-адреса. Есть ли способ использовать 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>
Это невозможно. scandir()
и многие другие файловые операции работают только локально.
Если вы хотите получить список файлов на удаленном сервере, вам нужен скрипт / API на сервере, который вернет этот список файлов.
Представьте себе, что произойдет, если вы сможете читать все файлы и каталоги на удаленной машине? Безопасность будет скомпрометирована.
Scandir
отлично работает для локального каталога.
scandir – Список файлов и каталогов внутри указанного пути
Но вы не можете получить список файлов на сервере, потому что во многих случаях URL-адреса не напрямую сопоставляются с файлами (например, команда location
веб-сервера nginx ). Также веб-серверы обычно блокируют возможность получения файлов списка для каталогов (см. Настройки для apache )