Dalam PHP, kita selalunya perlu memproses mengikut jenis fail, seperti menskala dan memangkas pelbagai jenis gambar Dalam kes ini, adalah sangat penting untuk menentukan jenis fail. Jadi, artikel ini akan memperkenalkan beberapa fungsi PHP yang biasa digunakan untuk menentukan jenis fail.
Dalam versi sebelum PHP5.3, anda boleh menggunakan fungsi mime_content_type untuk mendapatkan jenis MIME fail. Sintaks fungsi ini adalah seperti berikut:
string mime_content_type ( string $filename )
Fungsi ini menerima nama fail sebagai parameter dan mengembalikan jenis MIME fail. Contohnya:
$filename = 'test.jpg'; $mime_type = mime_content_type($filename); echo "The MIME type of $filename is: $mime_type";
Fungsi ini boleh menentukan jenis fail yang paling biasa, seperti gambar, audio, video, teks, dsb. Walau bagaimanapun, ia tidak menyokong semua jenis fail. Dalam sesetengah kes ia mungkin mengembalikan jenis MIME yang salah.
Bermula dari PHP5.3, anda boleh menggunakan fungsi fail_finfo untuk mendapatkan jenis MIME fail. Sintaks fungsi ini adalah seperti berikut:
finfo finfo_file ( resource $finfo , string $filename [, int $options = FILEINFO_NONE [, resource $context ]] )
Antaranya, $filename ialah nama fail yang hendak disemak, dan $finfo ialah objek maklumat fail yang dikembalikan oleh fungsi finfo_open. Contohnya:
$finfo = finfo_open(FILEINFO_MIME_TYPE); $filename = 'test.jpg'; $mime_type = finfo_file($finfo, $filename); echo "The MIME type of $filename is: $mime_type";
Perlu diambil perhatian bahawa fungsi fifo_file bergantung pada sambungan info fail PHP, jadi anda perlu memastikan sambungan itu didayakan sebelum digunakan.
Fungsi pathinfo ialah fungsi yang disertakan dengan PHP dan boleh digunakan untuk mendapatkan maklumat laluan fail. Selain laluan fail dan nama fail, ia juga boleh mengembalikan sambungan fail. Sintaks fungsi ini adalah seperti berikut:
array pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
di mana $path ialah laluan fail yang perlu dihuraikan. Hasil yang dikembalikan ialah tatasusunan yang mengandungi maklumat laluan, termasuk diname, nama asas, sambungan dan nama fail. Contohnya:
$filename = 'test.jpg'; $info = pathinfo($filename); echo "The extension of $filename is: " . $info['extension'];
Jika kita ingin menentukan sama ada fail ialah imej, kita boleh menggunakan fungsi getimagesize. Sintaks fungsi ini adalah seperti berikut:
array|false getimagesize ( string $filename [, array &$imageinfo ] )
Antaranya, $filename ialah nama fail yang akan disemak, dan $imageinfo ialah tatasusunan pilihan yang digunakan untuk menyimpan data tambahan apabila mendapatkan maklumat imej. Jika fungsi getimagesize mengembalikan palsu, ini bermakna fail itu bukan imej. Contohnya:
$filename = 'test.jpg'; $image_info = getimagesize($filename); if ($image_info !== false) { echo "$filename is an image file."; } else { echo "$filename is not an image file."; }
Perlu diingatkan bahawa fungsi getimagesize bergantung pada sambungan GD PHP, jadi anda perlu memastikan sambungan itu didayakan sebelum digunakan.
Ringkasan
Di atas memperkenalkan beberapa fungsi PHP yang biasa digunakan untuk menentukan jenis fail masing-masing mempunyai kelebihan dan kekurangan tersendiri dan boleh dipilih dan digunakan mengikut situasi sebenar. Perlu diingatkan bahawa apabila menggunakan fungsi ini, memandangkan jenis fail ditentukan oleh pengepala fail, mungkin terdapat kes di mana penyelewengan fail tertentu membawa kepada pertimbangan yang salah.
Atas ialah kandungan terperinci Fungsi PHP untuk menentukan jenis fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!