Dalam artikel sebelumnya "operasi fail php - membaca fail baris demi baris ", kami memperkenalkan kaedah membaca fail baris demi baris, dan kemudian menggunakan gelung kami boleh mendapatkan semua data fail. Jadi jika anda tidak menggunakan gelung, bagaimana untuk mendapatkan semua data fail? Artikel ini akan memperkenalkan kepada anda cara mendapatkan semua data fail sekali gus tanpa menggunakan gelung.
Terdapat banyak cara untuk membaca semua data fail sekaligus dalam PHP Hari ini kita akan mempelajari tentang dua fungsi fread() dan readfile().
Kami mempunyai fail teks bernama "test.txt", yang kandungannya ialah:
Mula-mula mari kita fahami Fread() Fungsi , lihat contoh berikut:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; $handle = fopen($file, 'r'); //打开文件 $contents = fread($handle, filesize($file)); //读取文件内容 echo $contents; fclose($handle);//关闭文件 ?>
Hasil keluaran:
Seperti yang anda lihat, kandungan "ujian. txt" fail Semua output.
Malah, fungsi fungsi fread($handle,$length)
adalah untuk membaca aksara panjang yang ditentukan $handle
aksara dalam fail terbuka $length
. Tetapi apabila nilai parameter $length ditentukan sebagai "filesize($file)
", maka semua data keseluruhan fail boleh dibaca. Peranan fungsi filesize() adalah untuk mendapatkan saiz fail, dan peranan fungsi fread() adalah untuk membaca keseluruhan fail.
Menggunakan fread() untuk membaca keseluruhan fail, anda perlu membuka fail terlebih dahulu, mengira saiz keseluruhan fail, dan kemudian menutup fail selepas membacanya. Adakah terdapat kaedah yang lebih mudah? Jawapannya ya, anda boleh menggunakan fungsi readfile() .
Mari kita lihat contoh berikut:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; readfile($file); //读取文件内容 ?>
Hasil output:
Bukankah ia sangat mudah, hanya gunakan satu baris kod secara langsung? readfile($file);
" boleh mendapatkan semua data fail sekaligus; tidak perlu membuka atau menutup fail, dan tidak perlu menggunakan pernyataan output seperti echo
untuk mengeluarkan kandungan fail .
Mari kita lihat fungsi readfile() . Fungsi
readfile($filename,$include_path,$context)
membaca fail dan menulisnya ke penimbal output, mengembalikan bilangan bait yang dibaca daripada fail.
Fungsi ini menerima 1 parameter yang diperlukan $filename
(nyatakan nama fail atau laluan fail untuk dibaca) dan 2 parameter yang ditinggalkan $include_path
dan $context
.
$include_path
Parameter: Tetapkan sama ada anda mahu mencari fail dalam include_path (dalam php.ini), lalainya adalah FALSE, jika anda mahu, tetapkan nilai parameter kepada '1 '.
$context
Parameter: Tetapkan persekitaran pemegang fail
Jika bacaan gagal, fungsi readfile() akan mengembalikan FALSE dengan mesej ralat ;Kami boleh menyembunyikan output ralat dengan menambahkan '@
' di hadapan nama fungsi.
@
ialah pengendali kawalan ralat Apabila diletakkan sebelum ungkapan PHP, sebarang mesej ralat yang mungkin dihasilkan oleh ungkapan itu akan diabaikan.
Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik di sini. → →Pengendalian asas fail PHP
Disyorkan: 《Koleksi soalan temuduga PHP (koleksi)》《tutorial video php 》
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan semua data fail pada satu masa dalam operasi fail php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!