php怎么浏览文件(PHP访问文件)
php怎么浏览文件(PHP访问文件)
2024-09-29 01:42:43  作者:舊電影  网址:https://m.xinb2b.cn/life/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);//关闭只读

?>

结果:


注:读取文件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);//关闭句柄

?>

结果:


注:

定义和用法

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>";//打印读取第几个字符

}

?>

结果:


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>";

}

?>

结果:


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>

结果:



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);//关闭句柄

?>

结果:


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}文件成功

?>

结果:


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}";

}

?>

结果:


原文件不存在报错


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}删除成功";

}

?>

结果:


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>";

}

}

?>

结果:


  • 钢琴调律方法和步骤(钢琴调律你不得不知道的几件事)
  • 2024-09-29钢琴调律你不得不知道的几件事大多数家长选择让孩子学习钢琴的原因在于,钢琴本身具有柔美通透的声音,几乎让大多数人所倾倒,弹了一手好钢琴,似乎也变成了一种值得炫耀的财富但是,又有很多学琴者没能明白的事情就是,学琴必须先调律对于绝大多。
  • 情侣之间送鞋子的禁忌(关于情侣之间送鞋子的禁忌)
  • 2024-09-29关于情侣之间送鞋子的禁忌忌送旧鞋,情侣之间送鞋并非不可以,毕竟这是促进亲密关系的事情只是我们在送鞋的时候一定要避开旧鞋,送旧鞋不但不会促进彼此的关系,反而容易影响双方的感情,不管旧鞋有没有被穿过都不要送忌单方面送鞋:情侣之间。
  • 重庆猪副产品(重庆农特产品荣昌猪)
  • 2024-09-29重庆农特产品荣昌猪微信搜索“重庆地方志”关注我们的公众号哟!猪粮稳,天下安荣昌地处重庆西部,其名取自“繁荣昌盛”之意,自唐乾元元年(公元758年)始建县以来,已有1262年历史荣昌猪,因原产于重庆荣昌而得名荣昌猪品种形。
  • 秋冬吃什么减脂(冬日防寒减肥吃什么)
  • 2024-09-29冬日防寒减肥吃什么在冬天这个季节里面,其实也是特别适合养生减肥的,可是冬天天气非常的寒冷,想要御寒的情况下,到底应该怎么办?现在为大家介绍冬季御寒减肥,到底吃什么东西才会对我们的身体有非常大的帮助呢?所以我们大家就应该。
  • amd发布笔记本显卡(AMD新出笔记本显卡RX)
  • 2024-09-29AMD新出笔记本显卡RX自从8月份,AMD低调发布了RadeonRX600系列显卡后,外界就纷纷猜测到600系列显卡是基于OEM笔记本和一些低端商用品牌台式机而今天,除了之前的首发的RX640、RX630、RX625、RX6。
  • 人生何求不过一杯茶(饮一杯茶无关风月)
  • 2024-09-29饮一杯茶无关风月沏一杯茶,静静坐下,思绪在茶香中慢慢沉淀……轻抿杯中的香茶,看茶叶在杯中舒展、轻盈与曼舞在那个慵懒的午后,伴随着醇香的馥郁,人的精神似乎也跟着茶汤上飘起的白烟升腾着这是一种精致的慢生活,很多人都能在一。
  • 健走队的蓝天白云(健走队的人和事)
  • 2024-09-29健走队的人和事队友们,今天咱们继续介绍筋膜健身的相关知识,欢迎阅读学习!结缔组织的类型和功能结缔组织在人体中无处不在,不同类型的结缔组织有着不同的构造和功能,令人惊叹结缔组织的类型可以粗略地划分为以下几种●疏松结缔。
  • 拔罐好处虽多但要注意这些事项(最适合拔罐的几种人群)
  • 2024-09-29最适合拔罐的几种人群拔罐可以治疗感冒,并且可以预防慢性支气管炎,可以有效缓解支气管哮喘,但是并不是所有人都适合拔罐,月经期间的女性不适合拔罐,血液疾病或皮肤疾病的人群最好不要拔罐,最适合拔罐的几种人群?拔罐最适合患这些病。
  • 五大名山是哪五大山(中国的五大名山简单介绍)
  • 2024-09-29中国的五大名山简单介绍东岳泰山:位于山东省中部,隶属于泰安市,绵亘于泰安、济南、淄博三市之间,总面积24200公顷泰山主峰海拔1545米名为“玉皇顶”,又称“天柱峰”,其相对高度为1391米,是我国东部沿海地带大陆口的第一。
  • 斛珠夫人最痛苦的是爱的人走了(一个流传千年的名句)
  • 2024-09-29一个流传千年的名句近些年,越来越多的古典文化元素被添加进影视剧里作为一个文化迷,笔者自然开心得很比如前几年很火的电视剧《庆余年》,就让杜甫的《登高》、李白的《将进酒》等,受到很多观众所喜欢不过,在使用古典文化元素时,因。
  • 锁屏密码及锁屏时间怎么设置 把锁屏密码设置成当前时间
  • 2024-09-29锁屏密码及锁屏时间怎么设置 把锁屏密码设置成当前时间2019年的第一天,大叔已经变了曾经的大叔,天真的认为时间就是用来浪费的而在新年的第一天,我知道时间还能用来设成锁屏密码!果然,新的一年我更加博学了呢你们平时都用什么锁屏密码?是最原始的数字密码?还是。
  • 车船险是什么意思(车船险的含义)
  • 2024-09-29车船险的含义汽车车船险就是购买车船税需要缴纳的费用汽车车船险的费用是每一个车辆都应该缴纳的,目前这个费用已经归纳到交强险中,也就是说在车主购买交强险时,所缴纳的保费里就已经包含了汽车车船险的费用汽车车船险的保费是。