php怎么浏览文件(PHP访问文件)
php怎么浏览文件(PHP访问文件)
2024-06-26 01:16:32  作者:舊電影  网址:https://m.xinb2b.cn/tech/eeu301326.html

1.打开文件

定义和用法

fopen() 函数打开文件或者 URL。

如果打开失败,本函数返回 FALSE。

语法

fopen(filename,mode,include_path,context)

参数描述

filename必需。规定要打开的文件或 URL。

mode必需。规定要求到该文件/流的访问类型。可能的值见下表。

include_path可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。

context可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

mode 参数的可能的值

mode说明

"r"只读方式打开,将文件指针指向文件头。

"r "读写方式打开,将文件指针指向文件头。

"w"写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

"w "读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

2.访问文件

1)fread()

定义和用法

fread() 函数读取文件(可安全用于二进制文件)。

语法

fread(file,length)

参数描述

file必需。规定要读取打开文件。

length必需。规定要读取的最大字节数。

说明

fread() 从文件指针 file 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。

返回所读取的字符串,如果出错返回 false。

例:fread.php

<?php

$filename = "file.txt"; //文件名称

$handle = fopen($filename, "r");//只读打开文件句柄指针

$str1 = fread($handle,filesize($filename));//读取文件,按照文件自身大小读取

echo '$str1 = '.$str1.'<br><br>';//读取文件内容

fclose($handle);//关闭只读

$handle = fopen($filename, "r");//再次打开只读文件

$str2 = fread($handle,7);//读取文件,按照7个字节读取 换行占两个字节

echo '$str2 = '.$str2;//读取文件内容

fclose($handle);//关闭只读

?>

结果:

php怎么浏览文件(PHP访问文件)(1)

注:读取文件3个步骤

调用fopen函数打开文件句柄

调用fread等文件读取函数

调用fclose函数关闭文件句柄

2)fgets()

定义和用法

fgets() 函数从文件指针中读取一行。

语法

fgets(file,length)

参数描述

file必需。规定要读取的文件。

length可选。规定要读取的字节数。默认是 1024 字节。

说明

从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

若失败,则返回 false。

例:fgets.php

<?php

$handle = @fopen("file.txt", "r");//打开只读句柄

$i = 0;//定义变量存储行数

while (!feof($handle)) { //函数检测是否已到达文件末尾 (eof) 是或者错误返回true

$buffer = fgets($handle, 4096); //句柄处读取行内容 字节大小为4096-1的内容

$i = $i 1;//计数

echo "第 $i 行".$buffer.'<br>';//打印读取几行内容

}

fclose($handle);//关闭句柄

?>

结果:

php怎么浏览文件(PHP访问文件)(2)

注:

定义和用法

feof() 函数检测是否已到达文件末尾 (eof)。

如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。

语法

feof(file)

参数描述

file必需。规定要检查的打开文件。

说明

file 参数是一个文件指针。这个文件指针必须有效,并且必须指向一个由 fopen() 或 fsockopen() 成功打开(但还没有被 fclose() 关闭)的文件。

3)fgetc()

定义和用法

fgetc() 函数从文件指针中读取一个字符。

语法

fgetc(file)

参数描述

file必需。规定要检查的文件。

说明

返回一个包含有一个字符的字符串,该字符从 file 指向的文件中得到。碰到 EOF 则返回 false。

文件指针必须有效,并且必须指向一个由 fopen() 或 fsockopen() 成功打开(但还没有被 fclose() 关闭)的文件。

例:fgetc.php

<?php

$fp = @fopen('file.txt', 'r');//打开只读句柄

$i = 0;//定义变量存储字符次数

while (false !== ($char = fgetc($fp))) { //读取句柄中每一个字符直到EOF 返回false

$i = $i 1;//计数

echo "第 $i 字符:$char<br>";//打印读取第几个字符

}

?>

结果:

php怎么浏览文件(PHP访问文件)(3)

4)file()

定义和用法

file() 函数把整个文件读入一个数组中。

与 file_get_contents() 类似,不同的是 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。

如果失败,则返回 false。

语法

file(path,include_path,context)

参数描述

path必需。规定要读取的文件。

include_path可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。

context

可选。规定文件句柄的环境。

context 是一套可以修改流的行为的选项。若使用 null,则忽略。

说明

对 context 的支持是 PHP 5.0.0 添加的。

返回的数组中每一行都包括了行结束符,因此如果不需要行结束符时还需要使用 rtrim() 函数。

例:file.php

<?php

$lines = file('file.txt');// 把文件内容存储到$lines 数组里,数组中每个单元都是文件中的一行,包括换行符在内

foreach ($lines as $num => $line) { //foreach方式遍历打印数组内容

echo "第{$num}行: ".$line."<br>";

}

?>

结果:

php怎么浏览文件(PHP访问文件)(4)

5)fgetss()

定义和用法

fgetss() 函数从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记。

与 fgets() 相同,不同的是 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。

语法

fgetss(file,length,tags)

参数描述

file必需。规定要读取的文件。

length可选。规定要读取的字节数。默认是 1024 字节。该参数在 PHP 5 之前是必需的。

tags可选。规定不会被删除的标签。

说明

可以用可选的第三个参数 tags 指定哪些标记不被去掉。

若失败,则返回 false。

例:fgetss.php

<?php

$handle = @fopen("file.html", "r");//打开只读句柄

$i = 0;//定义变量存储行数

while (!feof($handle)) {//函数检测是否已到达文件末尾 (eof) 是或者错误返回true

$lines = fgetss($handle);//从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记。

$i = $i 1;//计数

echo "第{$i}行: ".$lines."<br>";//打印读取几行内容

}

?>

file.html

<html>

<head>title

</head>

<body>

<pre>This is a file.

<table>

<tr>

<td>abcd</td>

<td>xyz</td>

</tr>

</table>

</body>

</html>

结果:

php怎么浏览文件(PHP访问文件)(5)

php怎么浏览文件(PHP访问文件)(6)

3.写入文件

1)fwrite

定义和用法

fwrite() 函数写入文件(可安全用于二进制文件)。

语法

fwrite(file,string,length)

参数描述

file必需。规定要写入的打开文件。

string必需。规定要写入文件的字符串。

length可选。规定要写入的最大字节数。

说明

fwrite() 把 string 的内容写入文件指针 file 处。 如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。

fwrite() 返回写入的字符数,出现错误时则返回 false。

例:fwrite.php

<?php

$filename = 'file.txt'; //文件名称

$content = "abcd\nxyz";//文件内容

$handle = fopen($filename,'a ');//读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

if(fwrite($handle,$content) === false) //返回写入的字符数,出现错误时则返回 false。

{

echo "写入{$filename}文件失败";//写入{$filename}文件失败

exit;

}

echo "写入{$filename}文件成功";//写入{$filename}文件成功

fclose($handle);//关闭句柄

?>

结果:

php怎么浏览文件(PHP访问文件)(7)

2)file_put_contents

定义和用法

file_put_contents() 函数把一个字符串写入文件中。

与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

语法

file_put_contents(file,data,mode,context)

参数描述

file必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。

data可选。规定要写入文件的数据。可以是字符串、数组或数据流。

mode

可选。规定如何打开/写入文件。可能的值:

FILE_USE_INCLUDE_PATH

FILE_APPEND

LOCK_EX

context

可选。规定文件句柄的环境。

context 是一套可以修改流的行为的选项。若使用 null,则忽略。

说明

参数 data 可以是数组(但不能是多维数组)。

自 PHP 5.1.0 起,data 参数也可以被指定为 stream 资源,stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。

对 context 参数的支持是 PHP 5.0.0 添加的。

返回值

该函数将返回写入到文件内数据的字节数。

提示和注释

提示:使用 FILE_APPEND 可避免删除文件中已有的内容。

例:file_put_contents.php

<?php

$content = 'file_put_contents';//写入内容

$file = 'file.txt';//写入文件

if(file_put_contents($file ,$content) === false)//返回写入的字符数,出现错误时则返回 false。

{

echo "写入{$file}文件失败";//写入{$file}文件失败

exit;

}

echo "写入{$file}文件成功";//写入{$file}文件成功

?>

结果:

php怎么浏览文件(PHP访问文件)(8)

4.复制文件

定义和用法

copy() 函数拷贝文件。

语法

copy(source,destination)

参数描述

source必需。规定要复制的文件。

destination必需。规定复制文件的目的地。

说明

将文件从 source 拷贝到 destination。如果成功则返回 TRUE,否则返回 FALSE。

提示和注释

提示:如果要移动文件的话,请使用 rename() 函数。

例:copy.php

<?php

$file = 'filebak.txt'; //被复制原文件

$newfile = 'file.txt';//复制后文件

if (!copy($file, $newfile)) {//如果成功则返回 TRUE,否则返回 FALSE。

echo "文件复制失败:{$file} copy to {$newfile}";

}

else {

echo "文件复制成功:{$file} copy to {$newfile}";

}

?>

结果:

php怎么浏览文件(PHP访问文件)(9)

原文件不存在报错

php怎么浏览文件(PHP访问文件)(10)

5.删除文件

定义和用法

unlink() 函数删除文件。

若成功,则返回 true,失败则返回 false。

语法

unlink(filename,context)

参数描述

filename必需。规定要删除的文件。

context可选。规定文件句柄的环境。Context 是可修改流的行为的一套选项。

例:unlink.php

<?php

$filename = 'file.txt'; //要被删除文件

fopen($filename,'a ');//读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

if(!unlink($filename))//若成功,则返回 true,失败则返回 false。

{

echo "文件{$filename}删除失败";

}

else

{

echo "文件{$filename}删除成功";

}

?>

结果:

php怎么浏览文件(PHP访问文件)(11)

6.重命名文件

定义和用法

rename() 函数重命名文件或目录。

若成功,则该函数返回 true。若失败,则返回 false。

语法

rename(oldname,newname,context)

参数描述

oldname必需。规定要重命名的文件或目录。

newname必需。规定文件或目录的新名称。

context可选。规定文件句柄的环境。context 是可修改流的行为的一套选项。

例:rename.php

<?php

$filename = 'file.txt';//被重命名原文件

$newname = 'newfile.txt';//重命名文件

fun_rename($filename,$newname);//调用fun_rename函数

function fun_rename($filename,$newname)//创建函数 形参$filename和$newname

{

if(!rename($filename,$newname))//若成功,则该函数返回 true。若失败,则返回 false。

{

echo "文件{$filename}重命名为{$newname}失败<br>";

}

else

{

echo "文件{$filename}重命名为{$newname}成功<br>";

}

}

?>

结果:

php怎么浏览文件(PHP访问文件)(12)

  • 宠物狗为什么一定要吃狗粮(狗狗刚到新家只能吃狗粮)
  • 2024-06-26狗狗刚到新家只能吃狗粮养狗狗的铲屎官一般有两类,一类属于心大型的,什么都敢喂,另一类就属于过分小心谨慎型的,什么事情都要确定了好几遍才敢做,只要在网上查到了一点反对的声音,就坚决不做我的一个新手铲屎官朋友就属于后者,养过狗。
  • 空压机电磁阀作用?(空压机电磁阀作用简述)
  • 2024-06-26空压机电磁阀作用简述空压机电磁阀用来控制流体的自动化基础元件,属于执行器,并不限于液压、气动用在工业控制系统中调整介质的方向、流量、速度和其他的参数电磁阀可以配合不同的电路来实现预期的控制,而控制的精度和灵活性都能够保证。
  • iqoo neo6如何(iQOONeo6测评我愿称其为)
  • 2024-06-26iQOONeo6测评我愿称其为这就是iQOO9青春版,不砍性能的那种iQOO9刚发布时,我就有一个大胆的想法,如果仅保留骁龙8和独显芯片,适当缩减外围配置,然后把“这款手机”放置到一个更为主流的价位段,在性能上对同价位机型形成降维。
  • 4k竖屏韩国美女洪真英(韩国娱乐圈第一美女洪真英)
  • 2024-06-26韩国娱乐圈第一美女洪真英今天想给大家介绍的是一名来自于韩国光州的女明星,她就是洪真英,出生于1985年,毕业于朝鲜大学,韩国著名的歌手,女演员很多人都评价洪真英是拥有实力唱腔的歌手,对于传统的古典音乐很有自己的见解,美而独特。
  • 早产女宝拖月什么意思(男早产女懒月这种说法准不准)
  • 2024-06-26男早产女懒月这种说法准不准对于一个孕妇来说,没有什么是比胎儿的健康更重要的所以一旦怀孕的新手妈妈都会早早地去医院,让医生推算出自己的预产期,好做相应的准备,以确保生产时候的万无一失如果预产期提前,或者预产期到了,孩子没有出生,。
  • 水杯能不能随身带上飞机(水杯可以随身带上飞机吗)
  • 2024-06-26水杯可以随身带上飞机吗如果像我们平常喝水用的水杯一般大小,是可以带上机的(不需办理托运),而且在飞机上还可以请机组人员帮你打开水如果保温杯体积偏大,则需办理托运手续茶水饮品:茶水饮料是不能携带上飞机的,进安检时必须将杯子液。
  • 华为手环3e的尺寸(50米防水价格跪了)
  • 2024-06-2650米防水价格跪了华为手环3e已经正式在其官网开启预售,其发布价格为109元,而现在交付20元订金即可抵扣30元,相当于减免十块钱,届时不到百元即可入手华为手环3e在11月23日发布,它是华为在智能穿戴领域推出的又一全。
  • 豆腐香菇鲫鱼汤的做法大全(香菇豆腐鲫鱼汤)
  • 2024-06-26香菇豆腐鲫鱼汤鲫鱼肉质细嫩,肉甜美,含大量的铁、钙、磷等矿物质,其营养成分也很丰富,含蛋白质、脂肪、维生素A、B等...香菇,味鲜美,香气沁人,营养丰富,富含维生素B铁、钾、维生素D等微量元素,还是高蛋白、低脂肪、。
  • 费神的劳苦命(抠搜是身穷啬啚是心穷)
  • 2024-06-26抠搜是身穷啬啚是心穷(图片作者:钟勤)所谓“穷”,通常分为“身穷”和“心穷”俗话说“身穷穷一时,心穷穷一世”所以才有“身穷志坚”的赞许但却没有“心穷志坚”的褒扬新疆土话常说“身穷的人抠搜,心穷的人啬啚”其实说的也是这个道。
  • 印度电影摔跤吧爸爸豆瓣评分多少(回顾经典印度电影)
  • 2024-06-26回顾经典印度电影《摔跤吧!爸爸》是根据真实事件改编,男主角的原型是印度著名摔跤手马哈维亚·辛格·珀尕马哈维亚出生在印度一个叫巴拉利的小村庄,这里所属的哈里亚纳邦,盛产摔跤手▲电影《摔跤吧!爸爸》海报马哈维亚从小练习摔。