Kaedah untuk mendapatkan input pengguna: Penjelasan terperinci tentang fungsi PHP fgets().

WBOY
Lepaskan: 2023-06-27 09:44:02
asal
1280 orang telah melayarinya

Dalam penghasilan halaman web, mendapatkan input pengguna adalah langkah penting. PHP ialah bahasa skrip yang berkuasa yang boleh digunakan dengan HTML untuk melaksanakan tugas yang berbeza, termasuk mendapatkan input daripada pengguna. Dalam PHP, terdapat banyak fungsi yang boleh digunakan untuk mendapatkan input pengguna, salah satu fungsi yang sangat biasa ialah fgets(). Artikel ini akan memperkenalkan secara terperinci penggunaan dan langkah berjaga-jaga penggunaan fungsi PHP fgets().

1. Penggunaan asas fungsi fgets()

PHP fgets() digunakan untuk membaca baris dalam fail Sintaksnya adalah seperti berikut:

fgets(file,length)
Salin selepas log masuk

Antaranya, parameter file. diperlukan, ia Menentukan nama atau pemegang fail fail untuk dibaca. Jika anda menggunakan nama fail, anda perlu menggunakan laluan fail yang digunakan semasa membuka fail. Parameter length adalah pilihan dan menentukan bilangan bait untuk dibaca Jika tidak dinyatakan, ia lalai kepada 1024. file 参数是必需的,它指定要读取的文件的名称或文件句柄。如果您使用文件名,则需要使用打开文件时使用的文件路径。length 参数是可选的,它指定要读取的字节数,如果没有指定,则默认为 1024。

例如,以下代码演示了如何使用 fgets() 函数从文件中读取一行:

<?php
$file = fopen("test.txt", "r") or die("无法打开文件!");
echo fgets($file);
fclose($file);
?>
Salin selepas log masuk

在此示例中,我们使用 fopen() 函数打开 test.txt 文件,并通过 r 模式指定只读访问模式。接下来,使用 fgets() 函数读取文件的第一行。最后,使用 fclose() 函数关闭文件句柄。

二、fgets() 函数的特殊用法

fgets() 函数还可以从用户输入的命令行读取输入。对于这种情况,需要将文件句柄指定为标准输入流 STDIN。例如,以下代码演示如何使用 fgets() 函数从命令行读取输入:

<?php
echo "请输入您的名字:";
$name = fgets(STDIN);
echo "您好," . $name;
?>
Salin selepas log masuk

在这个例子中,fgets(STDIN) 读取命令行输入,而不是文件输入。由于没有指定 length 参数,因此 fgets() 函数将读取输入中的所有字符,直到遇到换行符为止。最后,将读取的名字与字符串拼接,并输出到命令行中。

需要注意的是,由于 fgets() 函数从 STDIN 读取输入时会将换行符包括在内,因此在输出结果时可能需要删除换行符。可以使用 trim()

Sebagai contoh, kod berikut menunjukkan cara membaca baris daripada fail menggunakan fungsi fgets():

while(!feof($file)){
   $line = fgets($file);
   if(strlen($line) > 0){
      //处理代码      
   }
}
Salin selepas log masuk
Dalam contoh ini, kami menggunakan fungsi fopen() untuk membuka fail test.txt dan nyatakan read- hanya mod akses melalui mod r. Seterusnya, gunakan fungsi fgets() untuk membaca baris pertama fail. Akhirnya, pemegang fail ditutup menggunakan fungsi fclose().

2. Penggunaan khas fungsi fgets()
  1. Fungsi fgets() juga boleh membaca input daripada baris arahan yang dimasukkan oleh pengguna. Untuk kes ini, pemegang fail perlu dinyatakan sebagai aliran input standard STDIN. Contohnya, kod berikut menunjukkan cara menggunakan fungsi fgets() untuk membaca input daripada baris arahan:
  2. rrreee
  3. Dalam contoh ini, fgets(STDIN) membaca input baris arahan, bukan input fail. Oleh kerana parameter length tidak ditentukan, fungsi fgets() membaca semua aksara dalam input sehingga aksara baris baharu ditemui. Akhirnya, nama baca digabungkan dengan rentetan dan output ke baris arahan.
Perlu diambil perhatian bahawa oleh kerana fungsi fgets() termasuk baris baharu semasa membaca input daripada STDIN, anda mungkin perlu mengalih keluar baris baharu semasa mengeluarkan keputusan. Anda boleh menggunakan fungsi trim() untuk mengalih keluar ruang dan baris baharu daripada kedua-dua hujung rentetan.
  1. 3. Langkah berjaga-jaga untuk menggunakan fungsi fgets()
Apabila menggunakan fungsi fgets(), anda perlu memberi perhatian kepada perkara berikut: fungsi

🎜fgets() boleh membaca rentetan yang mengandungi baris baharu, jadi apabila mengeluarkan keputusan Penjagaan perlu diambil untuk mengalih keluar baris baharu. Fungsi 🎜🎜fgets() boleh membaca garis panjang sifar, jadi anda perlu memberi perhatian untuk menggunakan gelung sementara semasa membaca fail untuk mengelakkan gelung tak terhingga. Fungsi 🎜🎜rrreee🎜🎜fgets() boleh membaca rentetan yang mengandungi aksara nol, yang mungkin membawa kepada kerosakan data atau kelemahan keselamatan. Untuk mengelakkan ini, fgetcsv() hendaklah digunakan dan bukannya fgets(). 🎜🎜🎜Ringkasnya, fungsi fgets() ialah salah satu kaedah yang biasa digunakan untuk mendapatkan input pengguna dalam PHP, dan boleh membaca fail dan input baris arahan. Apabila menggunakan fungsi, anda perlu memberi perhatian kepada perkara di atas untuk mengelakkan ralat yang tidak dijangka. 🎜

Atas ialah kandungan terperinci Kaedah untuk mendapatkan input pengguna: Penjelasan terperinci tentang fungsi PHP fgets().. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!