Jadual Kandungan
PHP文件读取功能的应用实例,
Rumah php教程 php手册 PHP文件读取功能的应用实例,

PHP文件读取功能的应用实例,

Jun 13, 2016 am 09:05 AM
php bacaan fail

PHP文件读取功能的应用实例,

PHP文件读取操作相对于文件写入操作涉及更多的PHP文件操作函数,在代码实例中会详细介绍这些函数。

读取文本文件中存储数据的方式主要涉及的三个步骤及部分文件操作函数如下:

1、打开文件(文件操作函数:fopen)
2、文件数据读取(文件操作函数:fgets、file、readfile、feof等)
3、关闭文件(文件操作函数:fclose)

下面仍然以PHP文件读写操作代码实例讲解文件读取方法的具体应用,在实例中,通过调用不同的PHP文件读取操作函数读取文本文件中的数据,你可以加深PHP文件读取操作函数的理解,以便在PHP网站开发中合理应用。文本文件中写入的数据来自于PHP文件读写操作之文件写入教程,fopen函数中关于文件读写模式也可参考此文。

PHP文件读取操作代码实例

<&#63;
$readFun = "fread";
switch ($readFun)
{
case "fgetss":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
$allowable_tags = "<h1>";
while (!feof($fp)) {
$output = fgetss($fp,100,$allowable_tags);
echo $output;
}
fclose($fp);
break;
case "fgetcsv":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$output = fgetcsv($fp,100,"\t");
print_r($output);
}
fclose($fp);
break;
case "readfile":
echo readfile("leapsoulcn.txt");
break;
case "fpassthru":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
if(!fpassthru($fp))
exit();
fclose($fp);
break;
case "file":
$output = file("leapsoulcn.txt");
print_r($output);
break;
case "fgetc":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$str = fgetc($fp);
echo ($str == "\n"&#63;"<br/>":$str);
}
fclose($fp);
break;
case "fread":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
echo fread($fp,300);
fclose($fp);
break;
default:
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$output = fgets($fp,100);
echo $output;
}
fclose($fp);
break;
}
&#63;>
Salin selepas log masuk

注释:在上述实例中你可以通过对$readFun赋值来实现不同的PHP文件读取方法的调用,涉及的PHP文件读取操作函数有fgets、fgetss、fgetcsv、readfile、fpassthru、file、fgetc等函数。

PHP文件读取操作函数fgets、fgetss、fgetcsv之间的区别

在代码实例中,默认PHP文件读取操作函数为fgets,fgetss与fgetcsv函数的功能与fgets一样,都是一次读取文件中的一行,直到文件末尾。此处我设定读取文本文件中的数据长度为100,即最大读取长度为99(100-1),这样,当遇到换行符\n或文件结束符EOF或从文件中读取完99个字节时就停止读取数据。fgets函数返回文件读取的数据,字符串型。

fgetss函数是fgets函数的一个变体,它能够剥离PHP和HTML标记,通过传递第三参数来过滤不必要的数据,可以提高网站安全性,比如留言本中可以过滤用户的输入数据,fgetss函数原型如下:

string fgetss(resource fp,int length, string[optional] allowable_tags)

allowable_tags参数是可选项,实例中我事先在leapsoulcn.txt文件中写入了包含html、body、h1标记的一行文字,然后在代码中我设定只允许h1标记可以出现。

  fgetcsv函数是fgets的另一个变体,区别在与,当你的文本文件中写入的数据使用了定界符,可以使用fgetcsv将一行分解成多行,返回的结果存储在数组中,函数原型如下:

array fgetcsv(resource fp,int length, string[optional] delimiter,string[optional] enclosure)

delimiter是可选项,由于在之前写入文件的数据中我是用了\t,所以在实例中文件读取函数fgetcsv中的定界符我使用了\t,然后通过print_r打印出fgetcsv返回的数组结构。

三个PHP文件读取操作函数fgets、fgetss、fgetcsv共同之处在于事先都需要使用fopen函数打开读取的文件,同时通过feof函数判断是否文件指针到达文件末尾,切记在读取操作完成后使用fclose函数关闭文件。

  fgetc:读取单个字符
  fgetc函数用来读取一个字符,在代码实例中我通过一个一个读取字符,当遇到\n字符时将其转换成html文件中的br标记,以便在游览器中显示具体的换行效果,当然此函数的效率肯定是比较低的,不建议使用。

  PHP文件读取操作函数readfile、fpassthru、file之间的区别

  三个函数共同之处是一次可以读取整个文件,而不是一次读一行或一个字符。区别在于:
  readfile函数打开文件,返回文件内容直接输出在游览器上,与fopen函数一样,函数返回值为文件的字符总数,readfile函数的第二个参数是可选项,指明PHP是否应在include_path中查找文件。在代码实例中,我使用echo语句不是用来输出读取的文件内容,而是输出读取的文件字符总数,读取的文件内容readfile函数已自动输出,这一点必须明确!readfile函数原型如下:
int readfile(string filename,int[optional] use_include_path)

  file函数是另一种读取文件的方法,它是把读取的文件内容送到一个数组中,每行一个数组单元。file函数原型如下:
array file(string filename,bool[optional] use_include_path)

  fpassthru()函数用来输出文件指针处的所有剩余数据,即如果文件指针并不在开头,它只输出文件指针后面的数据。该函数将给定的文件指针从当前的位置读取到EOF,并把结果写到输出缓冲区,返回值为输出的字符数。发生错误时,返回FALSE。与readfile()函数相比,fpassthru()函数需要首先打开文件,数据读取完毕后要关闭文件。

  fread与file_exists、filesize函数

  fread函数也是读取文件的一种方法,其可以从文件中读取任意字节,要么满足length要么读到文件末尾。read函数原型如下:

string fread(resource fp,int length)

  在用到fread函数时,当你想读取文件全部数据,又不知道文件数据长度时,filesize函数可以解决这个问题,即

<&#63;
  @$fp = fopen("leapsoulcn.txt","r") or die("system error");
  echo fread($fp,filesize("leapsoulcn.txt"));
  fclose($fp);
&#63;>
Salin selepas log masuk

在PHP文件读写操作教程中我们还没有使用过file_exists函数,通常在PHP网站开发中,出于各种考虑,有时当文件不存在时,我们并不像创建新文件,这时我们就需要在使用fopen函数前使用file_exists函数判断文件是否存在,即

<&#63;
if(file_exists("leapsoulcn.txt"))
{
  //进行PHP文件读写操作
}
&#63;>
Salin selepas log masuk

以上为大家介绍了PHP读取文件内容的各种方法,通过合理应用PHP文件读写操作函数,可以实现简单的留言本、网站log记录等功能。

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

See all articles