Saya sedang mencari skrip PHP yang loop melalui semua file dalam direktori sehingga saya dapat melakukan hal-hal dengan nama file, seperti memformat, mencetak atau menambahkannya ke sebuah tautan. Saya ingin dapat mengurutkan file berdasarkan nama, jenis atau berdasarkan tanggal dibuat / ditambahkan / dimodifikasi. (Pikirkan direktori mewah "indeks".) Saya juga ingin dapat menambahkan pengecualian ke daftar file, seperti skrip itu sendiri atau file "sistem" lainnya. (Seperti .
dan ..
"direktori".)
Karena saya ingin dapat memodifikasi skrip, saya lebih tertarik melihat dokumen PHP dan belajar bagaimana menulisnya sendiri. Yang mengatakan, jika ada skrip yang ada, tutorial dan yang lainnya, tolong beri tahu saya.
Jawaban:
Anda dapat menggunakan DirectoryIterator . Contoh dari php Manual:
sumber
dirname()
fungsi di atas akan mendapatkan folder induk dari jalur apa pun yang Anda letakkan di sana. Dalam kasus saya, saya menganggap dirname adalah pembungkus untuk nama direktori / path, jadi itu tidak diperlukan./home/examples/banana.jpg
gunakan$fileinfo->getPathname()
Jika Anda tidak memiliki akses ke kelas DirectoryIterator coba ini:
sumber
Gunakan
scandir()
fungsinya:sumber
Anda juga dapat memanfaatkan
FilesystemIterator
. Itu membutuhkan lebih sedikit kode kemudianDirectoryIterator
, dan secara otomatis menghapus.
dan..
.Tautan: http://php.net/manual/en/class.filesystemiterator.php
sumber
Anda dapat menggunakan kode ini untuk mengulang melalui direktori secara rekursif :
sumber
glob () memiliki ketentuan untuk penyortiran dan pencocokan pola. Karena nilai kembali adalah array, Anda dapat melakukan sebagian besar dari semua yang Anda butuhkan.
sumber
Untuk kelengkapan (karena ini tampaknya halaman dengan lalu lintas tinggi), jangan lupa
dir()
fungsi lama yang baik :sumber