Membuat Skrip PHP Sederhana untuk Mengganti Nama File Massal di Server

Ada satu jenis pekerjaan yang terdengar sepele di atas kertas, tapi begitu benar-benar dihadapi bisa menghabiskan waktu berjam-jam tanpa disadari: mengganti nama ratusan berkas satu per satu. Untungnya, ini justru salah satu kasus paling klasik yang bisa diselesaikan dengan skrip sederhana, tanpa perlu tools mahal atau software tambahan apa pun.

Masalah Klasik Pengelolaan Aset Digital

Skenario ini mungkin terasa familiar bagi siapa pun yang pernah mengurus arsip digital perpustakaan. Hasil scan dokumen lama, foto sampul buku, atau arsip hasil pemindaian biasanya datang dengan nama file acak bawaan kamera atau scanner — sesuatu seperti IMG_9091.JPG atau SCAN_001.PDF. Nama-nama seperti ini sama sekali tidak informatif dan akan menyulitkan pencarian begitu jumlahnya menumpuk.

Solusi paling instingtif biasanya adalah membuka File Manager di cPanel dan mengganti nama satu per satu secara manual. Cara ini masih bisa ditoleransi untuk sepuluh atau dua puluh berkas, tapi begitu jumlahnya mencapai ratusan atau ribuan, proses manual ini jadi sangat rentan human error — belum lagi waktu yang terbuang, yang sebenarnya bisa dialokasikan untuk pekerjaan lain yang lebih membutuhkan perhatian.

Mengapa Memilih PHP untuk Otomasi?

PHP jadi pilihan yang cukup masuk akal untuk kasus semacam ini, terutama karena alasan praktis: bahasa ini sudah berjalan native di mayoritas hosting web, termasuk yang dipakai kebanyakan situs perpustakaan berbasis WordPress atau CMS lain. Admin tidak perlu memasang modul tambahan, library eksternal, atau bahkan akses SSH tingkat lanjut — cukup file PHP biasa yang dijalankan lewat browser.

Inti dari otomasi ini sebenarnya bersandar pada dua fungsi bawaan PHP yang sederhana namun sangat berguna. Fungsi scandir() dipakai untuk membaca seluruh isi sebuah direktori dan mengembalikannya sebagai daftar nama file. Sementara fungsi rename() dipakai untuk benar-benar mengeksekusi perubahan nama file tersebut secara langsung di file system server. Kombinasi dua fungsi ini saja sudah cukup jadi fondasi utama skrip renamer massal.

Logika Dasar Cara Kerja Skrip Renamer

Kalau dijabarkan secara sederhana, alur kerja skripnya kira-kira seperti ini: pertama, skrip membaca seluruh isi folder target menggunakan scandir(). Kedua, skrip menyaring hasil bacaan tersebut agar hanya memproses file dengan ekstensi tertentu, misalnya hanya file .pdf, sehingga file lain di folder yang sama tidak ikut terganggu. Ketiga, untuk setiap file yang lolos penyaringan, skrip memecah nama file lama dari ekstensinya, menempelkan pola nama baru yang sudah ditentukan sebelumnya — bisa berupa penomoran urut atau kombinasi tanggal — lalu menjalankan rename() di dalam sebuah perulangan (loop) hingga semua file selesai diproses.

Skrip semacam ini juga tidak harus berhenti sebagai alat command-line yang kaku. Dengan menambahkan antarmuka HTML dan sedikit CSS sederhana, alat ini bisa diubah menjadi form web yang ramah pengguna — staf yang sama sekali tidak paham coding pun bisa memakainya, cukup dengan mengetikkan pola nama yang diinginkan di kolom input, lalu klik satu tombol untuk menjalankan prosesnya secara otomatis.

Pertimbangan Keamanan dan Eksekusi

Ada satu hal yang tidak boleh diabaikan begitu skrip semacam ini sudah jadi: skrip ini bekerja langsung di level file system server, artinya siapa pun yang bisa mengakses skripnya lewat browser, secara teori bisa mengubah nama file apa pun di direktori yang dijangkau skrip tersebut. Karena itu, direktori tempat skrip disimpan sebaiknya tidak dibiarkan terbuka begitu saja — bisa dilindungi dengan autentikasi dasar (password protection folder), dibatasi lewat .htaccess, atau setidaknya ditempatkan di luar folder yang bisa diakses publik.

Meski terlihat sebagai utilitas kecil, kemampuan menyusun skrip semacam ini sebenarnya memberi nilai tambah yang cukup besar bagi siapa pun yang mengelola repositori digital dalam skala apa pun. Pekerjaan administratif rutin yang tadinya memakan puluhan jam kerja bisa dipangkas jadi hitungan menit, dan waktu yang tersisa bisa dialihkan untuk hal-hal yang benar-benar membutuhkan perhatian manusia, bukan sekadar mengetik ulang nama file satu demi satu.