Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Masih tidak dapat membezakan antara fgets, fgetss dan fgetcsv dalam PHP? Kumpul cepat!

Masih tidak dapat membezakan antara fgets, fgetss dan fgetcsv dalam PHP? Kumpul cepat!

藏色散人
藏色散人asal
2021-08-19 17:52:293035semak imbas

Dalam artikel sebelum ini "Cara Menggelung Tatasusunan Bersekutu dalam PHP (Dua Kaedah) " Saya memperkenalkan kepada anda dua kaedah menggelung melalui tatasusunan bersekutu dalam PHP Rakan-rakan yang berminat boleh mempelajarinya~

Tema artikel ini adalah untuk memperkenalkan kepada anda perbezaan khusus antara fungsi fgets, fgetss dan fgetcsv dalam PHP!

Sebenarnya, ketiga-tiga fungsi ini semuanya berkaitan dengan fungsi operasi fail dalam PHP Untuk membolehkan anda menguasai penggunaan fungsi yang berbeza dalam situasi yang berbeza, saya akan meringkaskan perbezaan antara mereka.

Di bawah saya akan memperkenalkan fungsi fgets, fgetss dan fgetcsv masing-masing dengan contoh:

1: fgets()Fungsi

fungsi fgets() Digunakan untuk membaca satu baris pada satu masa daripada fail; ia dibaca sehingga aksara baris baharu (n) atau EOF ditemui;

Sintaks seperti:

string fgets ( resource $handle [, int $length ] )

Parameter:

handle: penunjuk fail mesti sah dan mesti menunjuk ke fail yang berjaya dibuka oleh fopen() atau fsockopen() Fail (belum ditutup oleh fclose()).

panjang: Baca baris daripada fail yang ditunjuk oleh pemegang dan kembalikan rentetan dengan panjang paling banyak - 1 bait. Berhenti apabila aksara baris baharu (termasuk dalam nilai pulangan), EOF atau panjang - 1 bait telah dibaca (yang mana berlaku dahulu). Jika panjang tidak ditentukan, ia lalai kepada 1K, atau 1024 bait.

Contoh:

Buat fail test.txt dengan kandungan berikut: (Perenggan kandungan ini berasal dari Internet, maaf atas pelanggaran)

<p>秋已经很深了,似乎随时都可能陨落,<b>让冬给替代。</b></p>
那呼啸的北风或许正是冬的使者,匆忙而来,不想并未在这土地逗留片刻,就向南而去了。

Kod sampel PHP adalah seperti berikut:

<?php
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>

Kesan output adalah seperti berikut:

Masih tidak dapat membezakan antara fgets, fgetss dan fgetcsv dalam PHP? Kumpul cepat!

II :fgetss() Fungsi

Varian menarik bagi fgets() ialah fgetss(), yang mempunyai sintaks berikut:

string fgetss(resource fp, int length, string [allowble_tags])

Fungsi ini adalah serupa dengan fgets(), tetapi berbeza Perbezaannya ialah ia menanggalkan mana-mana tag PHP dan HTML yang terdapat dalam rentetan jika anda ingin menyimpan sebarang teg tertentu, anda boleh menambahkannya pada rentetan allowable_tags apabila membaca fail yang ditulis oleh orang lain; fail yang mengandungi input pengguna, Untuk berada di bahagian yang selamat, anda boleh menggunakan fgetss().

Kandungan test.txt dalam contoh ini adalah sama seperti di atas.

Kod sampel PHP adalah seperti berikut:

<?php
$file = fopen("test.txt","r");
echo fgetss($file);
fclose($file);

Outputnya adalah seperti berikut:

Masih tidak dapat membezakan antara fgets, fgetss dan fgetcsv dalam PHP? Kumpul cepat!

Kepada mengekalkan teg tertentu, anda boleh menetapkan parameter berikut:

<?php
$file = fopen("test.txt","r");
echo fgetss($file,1024,"<p>,<b>");
fclose($file);

Kesannya adalah seperti berikut:

Masih tidak dapat membezakan antara fgets, fgetss dan fgetcsv dalam PHP? Kumpul cepat!

Tiga: fgetcsv() Fungsi

Fungsi fgetcsv() ialah satu lagi varian bagi fgets(). ), fungsi ini Barisan fail akan dihadkan.

array fgetcsv(resource fp, int length [, string  delimiter [, string enclosure]])
Mula-mula buat fail test.csv dengan kandungan berikut:

Contoh kod PHP:

春天, 夏天, 秋天, 冬天
早晨, 上午, 中午, 晚上

Output:

<?php
$file = fopen("test.csv","r");
var_dump(fgetcsv($file));
fclose($file);

Platform laman web PHP Cina mempunyai banyak sumber pengajaran video Selamat datang semua orang untuk mempelajari "

Tutorial Video PHP
array (size=4)
  0 => string &#39;春天&#39; (length=6)
  1 => string &#39; 夏天&#39; (length=7)
  2 => string &#39; 秋天&#39; (length=7)
  3 => string &#39; 冬天&#39; (length=7)
"!

Atas ialah kandungan terperinci Masih tidak dapat membezakan antara fgets, fgetss dan fgetcsv dalam PHP? Kumpul cepat!. 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