php怎么浏览文件(PHP访问文件)
php怎么浏览文件(PHP访问文件)
2024-11-22 03:36:20  作者:舊電影  网址:https://m.xinb2b.cn/sport/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>";

}

}

?>

结果:


  • 张若昀新剧播了吗(2月份6部古装剧将播)
  • 2024-11-222月份6部古装剧将播新的一个月,新的古装剧也要慢慢露面了据知情人士透露,接下来爱奇艺、腾讯、优酷三大平台将上线两部古装,有望呈现出隔空对打的态势爱奇艺《显微镜下的大明》《云襄传》首先,来看看爱奇艺的新剧“配置”,二月份将。
  • 新款大众途锐开起来感觉如何(旗舰身份从未被撼动)
  • 2024-11-22旗舰身份从未被撼动说起大众品牌的旗舰,大家脑海中蹦出的第一个车型是什么?想必大多数人的回答都是辉腾吧虽然人们后知后觉才意识到,这台与宾利飞驰共享平台技术的大型豪华车是如此登峰造极,但停产后的辉腾依然在老百姓心中占据了很。
  • 炸土豆块需要煮一下吗(炸土豆块之前需要煮一下吗解析)
  • 2024-11-22炸土豆块之前需要煮一下吗解析不需要炸土豆块直接把土豆切成块即可开始炸了,并不需要把土豆先煮一遍土豆在煮过之后,吃起来会比较软,炸土豆块并不适合用这种煮过后的土豆需要注意的是,炸土豆块的时候锅中的油并不能够反复利用,发芽了的土豆也。
  • 济南2023中考预测分数线
  • 2024-11-22济南2023中考预测分数线济南市2023年普通高中最低录取提档分数线为390分2023济南中考指标生预测平均分数线:1、山东省实验中学录取指标生2052人,平均分为520分2、山东师范大学附属中学录取指标生607人,平均分为5。
  • 泰迪生产完吃什么下奶(泰迪是什么)
  • 2024-11-22泰迪是什么泰迪生产后吃鸡汤,猪蹄花生汤,羊排骨汤,和鲫鱼汤都可以下奶,另外还可以买一些通草跟猪脚一起煲,也很下奶;要主要的是泰迪生产后喂奶期间,不可以让泰迪吃猪肝,猪肝起收奶水作用贵宾犬(Poodle),也称“。
  • 大道理讲透小道理讲清歪道理(理字探源讲)
  • 2024-11-22理字探源讲峄山碑字解79理理:讲“理”不是讲“王道”人活于世,图的就是快乐!那么,最快乐的是什么?《庄子·天运》云:“夫至乐者,先应之以人事,顺之以天理,行之以五德,应之以自然,然后调理四时,太和万物”所谓“至。
  • 伊犁十大旅游景点(伊犁好玩的十大旅游景点)
  • 2024-11-22伊犁好玩的十大旅游景点那拉提旅游风景区:那拉提旅游风景区有全国最美的草原之一,这是一个亚高山草原植被带,特别是每年夏天到初秋的季节,那拉提草原和山间野花遍野,游牧民族将再次聚集起来喀拉峻景区:喀拉峻景区也是著名的新疆草原美。
  • 怎么能有效减脸部脂肪(怎么减脸部脂肪)
  • 2024-11-22怎么减脸部脂肪脸上的肉肉令你烦恼无比,怎么减脸部脂肪?下面这些快速瘦脸的10个妙招让你不再愁!一起来试一试吧1、用冰毛巾敷脸如果在早晨起床的时候发现自己的脸部水肿、松弛,可用冰毛巾敷面的方法来个急救把浸过冰水的毛巾。
  • 漫威奥创形态(盘点漫威最著名的10段三角恋)
  • 2024-11-22盘点漫威最著名的10段三角恋在漫威漫画中,爱情故事是超级英雄们绕不开的话题,几乎每位英雄曾有过多段恋情,且每一段恋情的狗血程度都堪比韩剧除了正常的恋情外,漫威漫画中还有不少更加狗血的三角恋剧情以下就是漫威最具标志的10段三角恋情。
  • 95后出任董事长(幕后老板是个95后)
  • 2024-11-22幕后老板是个95后封面新闻记者宋潇和陌生网友见一面吃顿烤肉,就花了几千上万元,当心,这很可能是“酒托女”设下的陷阱10月14日,记者从裁判文书上获悉,在今年3月,成都市中级人民法院就审理了一起涉及24名女性以交友为名实。
  • 年轻时古天乐所有高分电影(你是人间四月天)
  • 2024-11-22你是人间四月天你是人间四月天,源自民国才女林徽因的现代诗《你是人间的四月天》,诗歌以四月天气春风轻灵、春光明媚的特点来比喻生活中的各种美好四月天也成为了能给人们生活带有幸福美好与暖意的代名词,在香港电影里,能够给人。
  • 激发科学创新兴趣,体验创新乐趣深入探索科学
  • 2024-11-22激发科学创新兴趣,体验创新乐趣深入探索科学暑假期间,由中国科协、教育部共同主办的2017年青少年高校科学营在全国各地陆续开展,7月16-22日,由广东省科协、省教育厅和中山大学、华南理工大学联合承办的广东营也顺利举办,来自广东、湖北、重庆、新。