Я ищу сценарий PHP, который просматривает все файлы в каталоге, чтобы я мог делать что-то с именем файла, например форматировать, печатать или добавлять его в ссылку. Я хотел бы иметь возможность сортировать файлы по имени, типу или дате создания / добавления / изменения. (Представьте себе причудливый каталог «index».) Я также хотел бы иметь возможность добавлять исключения в список файлов, таких как сам сценарий или другие «системные» файлы. (Как .
и ..
"каталоги".)
Поскольку я хотел бы иметь возможность модифицировать скрипт, мне больше интересно посмотреть документы PHP и научиться писать их самостоятельно. Тем не менее, если есть какие-либо существующие сценарии, учебные пособия и тому подобное, пожалуйста, дайте мне знать.
Ответы:
Вы можете использовать DirectoryIterator . Пример из руководства по php:
источник
dirname()
выше функция получит родительскую папку по любому пути, который вы туда укажете. В моем случае я предположил, что dirname является оболочкой для имени / пути каталога, поэтому он не нужен./home/examples/banana.jpg
используйте$fileinfo->getPathname()
Если у вас нет доступа к классу DirectoryIterator, попробуйте следующее:
источник
Используйте
scandir()
функцию:источник
Вы также можете использовать
FilesystemIterator
. Тогда он требует еще меньше кодаDirectoryIterator
и автоматически удаляет.
и..
.Ссылка: http://php.net/manual/en/class.filesystemiterator.php
источник
Вы можете использовать этот код для рекурсивного просмотра каталога :
источник
glob () имеет условия для сортировки и сопоставления с образцом. Поскольку возвращаемое значение - это массив, вы можете делать все, что вам нужно.
источник
Для полноты картины (поскольку это, похоже, страница с высоким трафиком), давайте не забудем старую добрую
dir()
функцию :источник