Cara Cek File Exist dengan PHP
Cara Cek File Exist dengan PHP – Sering kali Anda perlu memindahkan file atau menyimpan beberapa data di dalamnya dalam PHP. Dalam kedua kasus tersebut, mengetahui sebelumnya apakah suatu file ada atau tidak dapat membantu kita menghindari beberapa perilaku yang tidak diharapkan.
PHP hadir dengan berbagai fungsi untuk menangani berbagai jenis kueri yang terkait dengan file. Dalam tutorial ini, kami akan memberi Anda gambaran singkat tentang semua fungsi ini sehingga Anda dapat memilih salah satu yang paling sesuai dengan situasi Anda.
Pentingnya Memeriksa apakah File Ada
Ada banyak skenario di mana memeriksa apakah ada file sebelum melakukan hal lain bisa menjadi penting. Katakanlah situs web Anda memungkinkan pengguna untuk mengunggah file gambar di server Anda yang dapat mereka akses nanti. Adil untuk mengasumsikan bahwa mereka selalu merupakan peluang nama file yang bentrok jika banyak pengguna menggunakan layanan Anda untuk sering mengunggah banyak file.
Dalam kasus seperti itu, menjadi penting untuk memeriksa apakah sudah ada file lain di lokasi di mana Anda ingin menyimpan file pengguna yang baru saja diunggah. Anda kemudian akan memiliki opsi untuk mengambil beberapa langkah seperti mengganti nama file menjadi sesuatu yang lain atau memberi tahu pengguna bahwa unggahan mereka akan menimpa file yang ada.
Mari kita pertimbangkan situasi lain di mana Anda seharusnya menambahkan data ke file di PHP. Jika file yang Anda buat untuk menulis semua data Anda dihapus karena alasan tertentu, fungsi seperti file_put_contents() hanya akan membuat file baru dengan nama yang ditentukan dan menyimpan data Anda di dalam file yang baru dibuat. Ini mungkin diinginkan dalam beberapa situasi tetapi itu tidak akan selalu terjadi. Jadi, masuk akal untuk memeriksa apakah file tersebut ada sebelumnya jika Anda sudah mengharapkannya ada di sana sebelum Anda mulai menulis data Anda.
Memeriksa apakah File Ada di PHP
berikut adalah tiga fungsi berbeda yang dapat Anda gunakan untuk memeriksa apakah ada file di PHP.
Fungsi pertama adalah file_exists(). Fungsi ini menerima parameter tunggal yang merupakan jalur tempat file Anda berada. Ingatlah bahwa itu akan mengembalikan true untuk file dan direktori yang ada. Ini mungkin atau mungkin tidak cukup untuk kebutuhan Anda.
Anda dapat mempertimbangkan untuk menggunakan fungsi is_file() jika Anda ingin memastikan bahwa jalur yang Anda tentukan menunjuk ke file dan bukan direktori. Demikian pula, Anda dapat menggunakan fungsi is_dir() untuk memeriksa apakah jalur yang Anda tentukan ada dan apakah itu menunjuk ke direktori.
<?php $name = "squares.txt"; $directory = "squares.zip"; if(file_exists($name)) { echo 'The file "'.$name.'" exists.'; } if(is_file($name)) { echo '"'.$name.'" is indeed a file.'; } if(is_dir($directory)) { echo '"'.$directory.'" turned out to be a directory.'; } ?>
Output :
The file "squares.txt" exists. "squares.txt" is indeed a file. "squares.zip" turned out to be a directory.
Dalam contoh di atas, saya sengaja menamai salah satu direktori squares.zip untuk menunjukkan bahwa penting untuk melakukan pemeriksaan Anda sendiri daripada berasumsi jika nama file yang diberikan sebenarnya adalah nama file atau direktori.
Penting untuk diingat bahwa baik is_file() dan is_dir() akan mengembalikan false bahkan untuk jalur yang benar-benar ada ketika direktori induk tidak memiliki izin yang tepat.
Periksa apakah File Ada dan Dapat Dibaca atau Dapat Ditulis
Dua fungsi lagi bernama is_readable() dan is_writable() dapat digunakan untuk mendapatkan beberapa informasi tambahan tentang file selain memeriksanya.
Seperti namanya, fungsi is_readable() akan memeriksa dua hal. Pertama, bahwa file atau direktori benar-benar ada. Kedua, bahwa file tersebut dapat dibaca. Demikian pula, fungsi is_writable() juga memeriksa dua hal, bahwa file atau direktori ada dan dapat ditulis.
<?php $name = "squares.txt"; if(is_readable($name)) { echo 'We can read "'.$name.'".'; } if(is_writable($name)) { echo 'We can also modify the contents of "'.$name.'".'; } ?>