Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

WBOY
Lepaskan: 2023-03-13 11:14:01
asal
5062 orang telah melayarinya

Dalam artikel sebelum ini, saya membawakan anda "Asas ungkapan biasa yang menarik dalam PHP (ilustrasi terperinci)", yang terutamanya bercakap tentang pengetahuan asas ungkapan biasa PHP dan cara menggunakannya melalui contoh . Ketahui cara menggunakannya. Artikel ini terus mempelajari tentang sistem fail PHP. Semoga ia membantu semua orang!

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

Apabila kita menggunakan komputer, kita semua menggunakan komputer untuk membuka dan menutup fail, mencipta fail atau memuat naik fail. Jadi bolehkah operasi ini dilakukan dalam kod? Jika ia boleh dilakukan, bagaimana ia harus dilakukan? Sebenarnya, sangat mudah Mempelajari pemprosesan fail sebenarnya mempelajari fungsi pemprosesan fail dan menggabungkannya dengan apa yang telah anda pelajari sebelum ini. Jadi mari kita lihat seterusnya.

Membaca fail dianggap sebagai operasi yang paling biasa dalam penggunaan harian kita, jadi bagaimana untuk melaksanakannya dalam kod.

Mari perkenalkan cara menggunakan fungsi dalam PHP untuk membaca kandungan fail.

fgetc(): Baca aksara daripada fail

Sebelum menggunakan fungsi ini untuk membaca fail, kita perlu Cipta teks terlebih dahulu fail dalam direktori (di sini kita ambil text.txt sebagai contoh). Kandungan teks adalah seperti berikut:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

Seterusnya mari kita lihat, fgetc() sedang digunakan Cara menggunakannya, dan apakah hasil output:

<?php
    header("Content-Type: text/html;charset=utf-8");   
    $handle = fopen(&#39;test.txt&#39;, &#39;r&#39;);             
   
$a = fgetc($handle)  ;
       echo $a; 
       
?>
Salin selepas log masuk

Hasil output:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

fgetc hanya boleh membaca satu aksara, Kami boleh menggunakan gelung yang disebutkan sebelum ini untuk digabungkan, dan kita boleh mendapatkan contoh berikut:

<?php
    header("Content-Type: text/html;charset=utf-8");    //设置字符编码
    $handle = fopen(&#39;test.txt&#39;, &#39;r&#39;);                 //打开文件
    if (!$handle) {                                     //判断文件是否打开成功
        echo &#39;文件打开失败!&#39;;
    }
    while (false !== ($char = fgetc($handle))) {        //循环读取文件内容
        echo $char;
    }
    fclose($handle);                                    //关闭文件
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

fgets() dan fgetss(): Baca fail baris demi baris

<?php
    header("Content-Type: text/html;charset=utf-8");   
    $handle = fopen(&#39;test.txt&#39;, &#39;r&#39;);             
   
$a = fgets($handle)  ;
       echo $a; 
       
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

Fungsi fgetss() ialah varian bagi fgets() dan juga digunakan untuk membaca baris data Semasa membaca, ia juga akan menapis teg PHP dan HTML dalam kandungan baca,

Dapat dilihat bahawa fail boleh dibaca baris demi baris melalui fgets Pada masa yang sama, seperti di atas, kita boleh menggunakan gelung untuk membaca keseluruhan fail.

Contoh adalah seperti berikut:

<?php
    $handle = @fopen("test.txt", "r");
    if ($handle) {
        while (($info = fgets($handle, 1024)) !== false) {
            echo $info.&#39;<br>&#39;;
        }
        fclose($handle);
    }                                
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

fread() : Baca Dapatkan fail (sebarang panjang)

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

<?php
    $filename = "test.txt";
    $handle = fopen($filename, "r");
    $contents = fread($handle, &#39;6&#39;);
    echo &#39;从文件中读取 6 个字符长度:&#39;.$contents.&#39;<br>&#39;;
    rewind($handle);
    $contents = fread($handle, filesize($filename));
    echo &#39;读取全部的文件内容:&#39;.$contents;
    fclose($handle);
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

readfile(): Baca semua fail

<?php
    $file = &#39;test.txt&#39;;
    $info = readfile($file);
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

file(): Baca keseluruhan fail ke dalam tatasusunan

<?php
    $file = &#39;test.txt&#39;;
    $arr  = file($file, FILE_IGNORE_NEW_LINES);
    $arr2 = file($file);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    var_dump($arr);
    var_dump($arr2);
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

file_get_contents(): Baca fail ke dalam rentetan

Mula-mula, kami mencipta fail test.txt

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

Kemudian masukkan:

<?php
    $a = &#39;test.txt&#39;;
   $b = file_get_contents($a);
   //因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组
   $c = explode("\n", $b);
   //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。
   while (list($key, $val) = each($c)) {
       ++$key;
       $val = trim($val);
       //用的单引号,单引号不解释变量进行了拼接而已
       print &#39;Line&#39; . $key .&#39;:&#39;.  $val.&#39;<br />&#39;;
   }
?>
Salin selepas log masuk

Dengan menggabungkannya dengan ilmu yang kita pelajari sebelum ini, hasil output ialah:

Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi)

Ini Ia adalah penyepaduan pengetahuan yang kami pelajari Pertama, buka fail melalui file_get_contents, dan kemudian dapatkan hasil output melalui senarai setiap pernyataan dan gelung while.

Pengetahuan lanjutan: fopen, fread, bacaan operasi fclose

Kaedah file_get_contents di atas untuk membuka fail adalah mudah dan kasar, maka apa yang berikut Beberapa

resource fopen ( string $文件名, string 模式)
string fread ( resource $操作资源, int 读取长度)
bool fclose ( resource $操作资源 )
Salin selepas log masuk

Melalui fungsi di atas, kami akan menerangkan kaedah operasi biasa jenis sumber:

  • Sumber terbuka

  • Gunakan fungsi berkaitan untuk beroperasi

  • Tutup sumber

Fungsi fopen Fungsi fopen adalah untuk membuka fail Terdapat dua parameter utama:

  • Laluan untuk membuka fail

    <.>
  • Mod fail terbuka

Jenis pulangan ialah jenis sumber dan jenis sumber memerlukan fungsi lain untuk mengendalikan sumber ini. Semua sumber mesti ditutup apabila ia dibuka.

fungsi fread: Fungsi fungsi adalah untuk membaca sumber fail terbuka. Baca sumber fail dengan panjang yang ditentukan, baca sebahagian daripadanya dan gerakkan sebahagian ke belakang. ke hujung fail.

fungsi fclose: Fungsi fungsi fclose ialah untuk menutup sumber. Sumber dibuka dan ditutup.

Seterusnya, saya akan memperkenalkan kepada anda mod fungsi fopen:

  • Buka dalam mod baca sahaja dan halakan penuding fail ke pengepala fail . r

  • Buka dalam mod baca-tulis dan halakan penuding fail ke pengepala fail. r

  • Buka dalam mod penulisan, halakan penuding fail ke pengepala fail dan potong saiz fail kepada sifar. Jika fail itu tidak wujud, cuba buatnya w

  • Buka dalam mod baca-tulis, halakan penuding fail ke pengepala fail dan potong saiz fail kepada sifar. Jika fail itu tidak wujud, cuba buatnya w

  • Buka dalam mod penulisan dan halakan penuding fail ke hujung fail. Jika fail itu tidak wujud, cuba buatnya a

  • Bukanya dalam mod baca-tulis dan halakan penuding fail ke hujung fail. Jika fail itu tidak wujud, cuba buatnya a

  • dan bukanya untuk menulis, halakan penuding fail ke pengepala fail. Jika fail sudah wujud, panggilan fopen() gagal dan mengembalikan FALSE dan menjana mesej ralat peringkat E_WARNING. Jika fail itu tidak wujud, cuba buatnya x

  • Cipta dan bukanya dalam mod baca-tulis, halakan penuding fail ke pengepala fail. Jika fail sudah wujud, panggilan fopen() gagal dan mengembalikan FALSE dan menjana mesej ralat peringkat E_WARNING. Jika fail itu tidak wujud, cuba buatnyax

Pembelajaran yang disyorkan: "

Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk membaca fail dalam PHP? (Ringkasan kongsi). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan