Penggunaan fungsi FILE.EXISTS di PHP

Mode pembuka "w" memiliki fitur yang secara otomatis akan membuat file jika file yang dibuka tidak ada. Perhatikan parameter fungsi fopen() pada baris ke-3 program di atas. Jika program di atas dicoba, maka akan muncul pesan "File berhasil dibuka". Selain itu, file data baru akan ditemukan di direktori kerja. txt yang ketika dibuka isinya masih kosong

Halo teman-teman, apa kabar kalian semua? . Kali ini saya akan memberikan tutorial tentang file_exists, touch and unlink

Sentuh adalah untuk membuat file

Batalkan tautan untuk menghapus file

File_exists adalah untuk memeriksa apakah file dalam direktori tersebut ada atau tidak

Contoh Sentuh

Penggunaan fungsi FILE.EXISTS di PHP

Keterangan pada gambar diatas adalah saat membuat file bernama create-file-text1. txt lalu dihapus dengan cara unlink, cek lagi apakah file tersebut masih ada di direktori atau tidak?

I wrote this little handy function to check if an image exists in a directory, and if so, return a filename which doesnt exists e.g. if you try 'flower.jpg' and it exists, then it tries 'flower[1].jpg' and if that one exists it tries 'flower[2].jpg' and so on. It works fine at my place. Ofcourse you can use it also for other filetypes than images._

function imageExists($image,$dir) {

    $i=1; $probeer=$image;_

    while(file_exists($dir.$probeer)) {
        $punt=strrpos($image,".");
        if(substr($image,($punt-3),1)!==("[") && substr($image,($punt-1),1)!==("]")) {
            $probeer=substr($image,0,$punt)."[".$i."]".
            substr($image,($punt),strlen($image)-$punt);
        } else {
            $probeer=substr($image,0,($punt-3))."[".$i."]".
            substr($image,($punt),strlen($image)-$punt);
        }
        $i++;
    }
    return $probeer;
}
?>

Cara Cek File Exist dengan PHP

Kategori tutorial situs web

Judith Hentreisa

31 Juli 2021

Bagikan postingan ini

Cara Cek File Exist dengan PHP - Seringkali Anda perlu mentransfer file atau menyimpan beberapa data di dalamnya di PHP. Dalam kedua kasus tersebut, mengetahui sebelumnya apakah 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

Penggunaan fungsi FILE.EXISTS di PHP

 

Pentingnya Memeriksa apakah File Ada

Ada banyak skenario di mana memeriksa apakah file ada sebelum melakukan hal lain bisa menjadi penting. Katakanlah situs web Anda mengizinkan pengguna untuk mengunggah file gambar di server Anda yang dapat mereka akses nanti. Wajar untuk mengasumsikan bahwa nama file mereka selalu bertentangan jika banyak pengguna menggunakan layanan Anda untuk sering mengunggah banyak file

Dalam kasus seperti itu, penting untuk memeriksa apakah sudah ada file lain di lokasi tempat Anda ingin menyimpan file pengguna yang baru saja Anda unggah. 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 pertimbangkan situasi lain di mana Anda harus menambahkan data ke file di PHP. Jika file yang Anda buat untuk menulis semua data Anda dihapus karena suatu alasan, fungsi seperti file_put_contents() hanya akan membuat file baru dengan nama yang ditentukan dan menyimpan data Anda di file yang baru dibuat. Ini mungkin diinginkan dalam beberapa situasi tetapi tidak selalu demikian. Jadi, masuk akal untuk memeriksa apakah file tersebut sudah ada jika Anda sudah mengharapkannya ada 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 satu parameter yang merupakan jalur tempat file Anda berada. Perhatikan bahwa ini 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 ingin memastikan bahwa jalur yang Anda tentukan mengarah ke file dan bukan direktori. Demikian pula, Anda dapat menggunakan fungsi is_dir() untuk memeriksa apakah jalur yang Anda tentukan ada dan apakah itu mengarah 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.';
}
 
?>

Keluaran

The file "squares.txt" exists.
"squares.txt" is indeed a file.
"squares.zip" turned out to be a directory.

_

Pada contoh di atas, saya sengaja menamai salah satu kotak direktori. zip untuk menunjukkan bahwa penting untuk melakukan pengecekan sendiri daripada berasumsi bahwa 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 saat direktori induk tidak memiliki izin yang benar

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 tersebut 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.'".';
}
 
?>

keluaran

Kita dapat membaca "persegi. txt"

Kami juga dapat memodifikasi konten "kotak. txt"

Saya menyarankan Anda untuk berhati-hati saat menginterpretasikan nilai kembalian dari kedua fungsi ini. Misalnya, insting pertama kita ketika is_readable() mengembalikan false adalah berpikir bahwa file yang kita tanyakan tidak dapat dibaca. Namun, fungsi juga mengembalikan false jika file tidak ada. Penting untuk selalu mengingat aspek fungsionalitas ini

Waspadai Hasil Tembolok

Nilai pengembalian yang Anda dapatkan dari panggilan ke lima fungsi ini, yaitu, file_exists(), is_file(), is_dir(), is_readable() dan is_writeable() di-cache. Ini berarti panggilan berulang ke suatu fungsi, katakanlah is_file() dapat menunjukkan hasil yang basi

PHP menyimpan hasil fungsi ini untuk meningkatkan kinerja. Ini memastikan bahwa beberapa panggilan untuk menanyakan file yang sama bekerja lebih cepat. Namun, nilai pengembalian akan tetap sama meskipun file berubah selama eksekusi skrip

Hasilnya hanya di-cache untuk file yang ada. Ini berarti bahwa memanggil fungsi is_file() akan terus menghasilkan false untuk file yang tidak ada tetapi akan mulai mengembalikan true segera setelah file dibuat. Di sisi lain, fungsi akan tetap mengembalikan nilai true untuk file yang ada selama panggilan pertama bahkan setelah file dihapus

<?php
 
$name = "squares.txt";
 
if(is_file($name)) {
    echo '"'.$name.'" is indeed a file.';
}
 
 
// Manually delete the file while scripts waits.
sleep(5);
 
if(is_file($name)) {
    echo '"'.$name.'" is indeed a file.';
}
 
clearstatcache();
 
if(is_file($name)) {
    echo '"'.$name.'" is indeed a file.';
} else {
    echo 'The file probably no longer exists.';
}
 
?>

Jika Anda menjalankan cuplikan kode di atas untuk file yang benar-benar ada dan kemudian menghapusnya secara manual saat skrip menunggu, memanggil is_file() akan tetap mengembalikan nilai true. Namun, Anda bisa mendapatkan hasil yang benar hanya dengan memanggil clearstatcache() sebelum menanyakan keberadaan file tersebut lagi

keluaran

"kotak. txt” memang sebuah file

"kotak. txt” memang sebuah file

File tersebut mungkin sudah tidak ada lagi

Hal lain yang perlu diingat adalah panggilan ke unlink() secara otomatis membersihkan cache sehingga Anda mendapatkan hasil baru untuk panggilan ke fungsi seperti is_file() nanti

Kesimpulan

Kita mulai tutorial ini dengan mempelajari pentingnya pengecekan keberadaan file di PHP. Setelah itu, kita belajar tentang berbagai fungsi yang dapat Anda gunakan untuk memeriksa apakah ada file di PHP. Kami juga belajar tentang kelebihan dan kekurangan yang mungkin dimiliki beberapa fungsi ini

Seperti yang saya sebutkan di bagian akhir, PHP akan meng-cache hasil dari beberapa pemanggilan fungsi ini untuk meningkatkan kinerja. Oleh karena itu, pastikan Anda menghapus cache sebelum melakukan sesuatu yang penting dengan file tersebut. sumber

Terimakasih telah membaca artikel Cara Cek File Exist dengan PHP. Saya harap ini berguna. bagi yang membutuhkan jasa pembuatan web berbasis php native, laravel atau bahkan codeigniter bisa hubungi WA 087823179122