≡ Menu

Script PHP Pencarian File Di Folder Dan Subfolder

Directory Search

Membuat halaman pencarian pada direktori folder memang tidak seperti membuat pencarian di database. Tidak banyak orang menggunakan ini dan hanya sedikit yang memakainya untuk bantuan sebuah script autoindex. Script yang akan Saya bagikan terdapat dari salah satu autoindex yang sangat populer dan Saya mengira tidak semua autoindex mempunyai menu pencarian file didalam direktori dan subdirektori.

Keunggulan yang didapatkan tidak membaca hanya 1 direktori saja, namun semua directori dijelajahi untuk mendapatkan file yang sesuai pada keyword. Dan script tersebut tidak memakai fungsi glob() untuk mem-filter file melainkan dengan kode lain yang menampillan teks dengan tambahan “” yang harus di replace supaya tidak ditampilkan.

Kode yang ditampilkan berbentuk sebuah array, jadi harus dipanggil dengan bantuan print_r. Dengan ini seseorang dapat mencari file dengan mudah dan tentunya tanpa masuk FTP/File Manager untuk mencarinya.

Silahkan lihat kode tersebut dibawah ini.!

<?php
$filter = "namafile";
$folder = './';
$proses = new RecursiveDirectoryIterator("$folder");
foreach(new RecursiveIteratorIterator($proses) as $file)
{
  if (!((strpos(strtolower($file), $filter)) === false) || empty($filter))
  {
    $tampil[] = preg_replace("#/#", "/", $file);
  }
}
sort($tampil);
print_r($tampil);
?>

Sedikit Penjelasan

$filter – digunakan untuk mem-filter teks keyword yang akan ditampilkan, dapat memakai ekstensi ataupun nama file langsung.

$folder – Digunakan untuk memilih folder untuk pencarian file, akan lebih baik penyimpanan file diatas dibuat pada ROOT direktori.

$proses – Digunakan untuk menampilkan semua folder dan akan disambung kedalam foreach sebagai pembukaan semua array.

if OR – Digunakan untuk membatasi kode tertentu dan memakai fungsi OR sebagai pembagian dalam bentuk ATAU. Jadi disitu akan memproses file jika tidak ada akan tidak tampil dan jika ada akan menampilkannya.

$tampil – Digunakan untuk mereplace tanda yang ada supaya dihilangkan. Dari sini sudah terlihat memakai array.

Sort – Digunakan untuk menampilkan list file secara urut dari A – Z (Alphabet).

Print_r – Digunakan untuk menampilkan kode dari $tampil sebagai perintah array.

Sederhana bukan..? Untuk cara pemakaian bisa ditambah form pencarian sendiri supaya lebih sederhana dan pembuatan form tersebut Saya rasa sudah bisa dan bagi yang tidak bisa salin kode diatas dengan baik, bisa KLIK DISINI langsung dari situs pastebin. Jika ada yang dipertanyakan tentang diatas silahkan komentar :D.

Semoga bermanfaat dan selamat mencoba

About the author: Apapun yang Saya ketahui dan Saya bagikan. Semuanya berawal dari masa yang disebut pembelajaran.

{ 11 comments… add one }
  • Fajar October 21, 2016, 12:09 pm

    Kok pas dicoba begini?
    Mohon pencerahannya gan
    Warning: sort() expects parameter 1 to be array, null given in C:\xampp\htdocs\tes.php on line 12

    • rrobyf October 23, 2016, 8:00 am

      Itu dikarenakan tidak ada file apapun yang ada pada direktory yang diatur.

  • prass October 12, 2015, 2:49 am

    Master mau nanya lagi dong,
    untuk penggunaan dengan form pencarian apakah ada yang harus diubah dari script php diatas?
    Kalaupun ada yang diubah, mohon penjelasannya ya karena saya baru belajar php.. 🙂
    Makasih..

  • prass October 10, 2015, 6:56 am

    Master mau nanya dong..
    Itu isian string “namafile” yang ada di variabel $filter diganti dengan nama file yang mau dicari atau ttep begitu ya untuk menampilkan filenya?
    Makasih sebelumnya.. 🙂

    • rrobyf October 11, 2015, 3:57 am

      Untuk namafile, silahkan ubah dengan file yg akan dicari ya, bisa juga langsung dari extensi filenya 😀

      • prass October 12, 2015, 1:29 am

        Oke Terima Kasih Banyak master.. 🙂
        Oya master mau nanya lagi dong,
        untuk penggunaan dengan form pencarian apakah ada yang harus diubah dari script php diatas?
        Kalaupun ada yang diubah, mohon penjelasannya ya karena saya baru belajar php.. 🙂
        Makasih..

  • koko February 5, 2015, 10:59 am

    master, saya minta file .php nya kalau tidak keberatan krn ada tugas akhir perihal ini. sangat saya butuhkan sekali bantuan master. Mksh sblmya

  • adam December 11, 2014, 2:24 am

    kok scriptnya error ya ? :
    Warning: preg_replace(): No ending delimiter ‘#’ found in C:\xampp\htdocs\percobaan\cari.php on line 10
    Array ( [0] => )

    • rrobyf December 11, 2014, 6:38 am

      Kode telah diperbaiki. Silahkan dicoba kembali. 😀

      • adam December 13, 2014, 6:43 am

        mantap gan, terima kasih atas scriptnya, sangat membantu 🙂

Leave a Comment