Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan semua data fail pada satu masa dalam operasi fail php

Bagaimana untuk mendapatkan semua data fail pada satu masa dalam operasi fail php

青灯夜游
青灯夜游asal
2021-08-05 15:41:505189semak imbas

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:

Bagaimana untuk mendapatkan semua data fail pada satu masa dalam operasi fail php

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, &#39;r&#39;);                 //打开文件
$contents = fread($handle, filesize($file));    //读取文件内容
echo $contents;
fclose($handle);//关闭文件
?>

Hasil keluaran:

Bagaimana untuk mendapatkan semua data fail pada satu masa dalam operasi fail php

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:

Bagaimana untuk mendapatkan semua data fail pada satu masa dalam operasi fail php

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_pathParameter: Tetapkan sama ada anda mahu mencari fail dalam include_path (dalam php.ini), lalainya adalah FALSE, jika anda mahu, tetapkan nilai parameter kepada '1 '.

  • $contextParameter: 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn