Bagaimana cara memeriksa apakah fungsi php berfungsi?

Sering kali Anda perlu memindahkan file atau menyimpan beberapa data di dalamnya dalam 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, saya akan memberi Anda ikhtisar 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 jadi penting. Katakanlah situs web Anda mengizinkan pengguna untuk mengunggah file gambar di server Anda yang dapat mereka akses nanti. Wajar untuk berasumsi bahwa selalu ada kemungkinan nama file yang bentrok 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 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 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 suatu alasan, fungsi seperti

<?php
11 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 selalu terjadi. Jadi masuk akal untuk memeriksa apakah file tersebut ada sebelumnya jika Anda sudah mengharapkannya ada sebelum Anda mulai menulis data Anda

Memeriksa apakah File Ada di PHP

Ada tiga fungsi berbeda yang dapat Anda gunakan untuk memeriksa apakah ada file di PHP

Fungsi pertama adalah

<?php
_12. Fungsi ini menerima satu parameter yaitu jalur tempat file Anda berada. Perlu diingat 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

<?php
_13 jika Anda ingin memastikan bahwa jalur yang Anda tentukan mengarah ke file dan bukan direktori. Demikian pula, Anda dapat menggunakan fungsi
<?php
_14 untuk memeriksa apakah jalur yang Anda tentukan ada dan apakah itu mengarah ke direktori

1
<?php
2
3
$name = "squares.txt";
4
$directory = "squares.zip";
5
6
if(file_exists($name)) {
<?php
0
<?php
1
<?php
2
<?php
3
<?php
4
<?php
5
<?php
6
<?php
7
<?php
8
<?php
9
<?php
3
2
1
2
2
2
3
2
4
2
5
2
6
<?php
3
2
8
2
9
3
0

keluaran

1
3
2
2
3
4
3
3
6

Dalam contoh di atas, saya sengaja menamai salah satu kotak direktori. zip untuk menunjukkan bahwa penting untuk melakukan pemeriksaan sendiri alih-alih berasumsi bahwa nama file yang disediakan sebenarnya adalah nama file atau direktori

Penting untuk diingat bahwa

<?php
13 dan
<?php
14 akan mengembalikan
<?php
17 bahkan untuk jalur yang benar-benar ada saat direktori induk tidak memiliki izin yang tepat

Periksa apakah File Ada dan Dapat Dibaca atau Dapat Ditulis

Dua fungsi lagi bernama

<?php
18 dan
<?php
19 dapat digunakan untuk mendapatkan beberapa informasi tambahan tentang file, selain memeriksa apakah itu ada

Seperti namanya, fungsi

<?php
18 akan memeriksa dua hal. pertama, bahwa file atau direktori tersebut benar-benar ada, dan kedua, bahwa file tersebut dapat dibaca. Demikian pula, fungsi
<?php
_19 juga memeriksa dua hal, bahwa file atau direktori ada dan dapat ditulisi

1
<?php
2
3
$name = "squares.txt";
4
5
$name = "squares.txt";
4____1212________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ges

keluaran

1
$directory = "squares.zip";
0
2
$directory = "squares.zip";
2

Saya akan menyarankan Anda untuk berhati-hati saat menginterpretasikan nilai kembalian dari kedua fungsi ini. Misalnya, insting pertama kita ketika

<?php
_18 mengembalikan false adalah berpikir bahwa file yang kita minta tidak dapat dibaca. Namun, fungsi juga mengembalikan false jika file tidak ada. Penting untuk selalu mengingat aspek fungsi ini

Waspadai Hasil Tembolok

Nilai pengembalian yang Anda dapatkan dari panggilan ke kelima fungsi ini—yaitu,

<?php
12,
<?php
13,
<?php
14,
<?php
18, dan
<?php
27—di-cache. Ini berarti panggilan berulang ke suatu fungsi, katakanlah
<?php
13, dapat menunjukkan hasil yang basi

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

Hasilnya hanya di-cache untuk file yang sudah ada. Ini berarti memanggil fungsi

<?php
_13 akan terus mengembalikan
<?php
17 untuk file yang tidak ada tetapi akan mulai mengembalikan
<?php
31 segera setelah file dibuat. Di sisi lain, fungsi akan terus mengembalikan
<?php
31 untuk file yang ada selama panggilan pertama, bahkan setelah file dihapus

1
<?php
2
3
$name = "squares.txt";
4
5
<?php
6
6
<?php
8
<?php
0
<?php
3
<?php
2
<?php
4
<?php
5
5
8
<?php
7
6
0
<?php
9
2
1
<?php
6
2
2
<?php
8
2
4
<?php
3
2
6
2
8
if(file_exists($name)) {
0
2
9
if(file_exists($name)) {
2
<?php
6
if(file_exists($name)) {
4
<?php
8
if(file_exists($name)) {
6
if(file_exists($name)) {
7
if(file_exists($name)) {
8
if(file_exists($name)) {
9
<?php
00
<?php
3
<?php
02
<?php
03
3
0

Jika Anda menjalankan cuplikan kode di atas untuk file yang benar-benar ada dan kemudian menghapusnya secara manual saat skrip menunggu, memanggil

<?php
13 akan tetap mengembalikan
<?php
31. Namun, Anda bisa mendapatkan hasil yang benar hanya dengan menelepon
<?php
35 sebelum menanyakan keberadaan file lagi

keluaran

1
3
4
2
3
4
3
<?php
10

Hal lain yang perlu diingat adalah bahwa panggilan ke

<?php
36 secara otomatis menghapus cache, sehingga Anda mendapatkan hasil baru untuk panggilan ke fungsi seperti
<?php
13 nanti

Pikiran Akhir

Kami memulai tutorial ini dengan mempelajari pentingnya memeriksa keberadaan file di PHP. Setelah itu, kami 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 menjelang 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

Bagaimana Anda memeriksa fungsi PHP berfungsi atau tidak?

function_exists() adalah fungsi bawaan di PHP. Fungsi function_exists() berguna jika kita ingin memeriksa apakah function() ada atau tidak di skrip PHP. Ini digunakan untuk memeriksa baik fungsi bawaan maupun fungsi yang ditentukan pengguna.

Bagaimana cara memeriksa apakah suatu fungsi didefinisikan dalam PHP?

Jika Anda ingin melihat apakah ada variabel, gunakan isset() seperti yang didefinisikan() hanya berlaku untuk konstanta. Jika Anda ingin melihat apakah suatu fungsi ada, gunakan function_exists() .

Bagaimana cara memeriksa apakah ada fungsi di kelas saat ini di PHP?

Fungsi method_exists() memeriksa apakah metode kelas ada.

Bagaimana cara kerja fungsi PHP?

Fungsi adalah potongan kode yang mengambil input lain dalam bentuk parameter, memprosesnya, lalu mengembalikan nilai . Fitur Fungsi PHP adalah bagian dari kode yang dapat digunakan berulang kali dan menerima daftar argumen sebagai input, dan mengembalikan nilai. PHP hadir dengan ribuan fitur bawaan.