讲师中心 微信公众号

工具推荐

视频效率加速
updream

一键生成高质量推广成片

Seko
Seko

AI短剧一键生成成片

立刻MV
立刻MV

低成本歌曲 MV、视频生成

剧云
剧云

中文短剧剧本制作平台

PHP读取文件并显示在网页上_实现文件内容网页显示操作【教程】

轻萱君_6340

轻萱君_6340

发布时间:2026-02-17 13:42:11

|

755人浏览过

|

来源于php中文网

原创

PHP提供五种读取服务器文件并输出到网页的方法:一、file_get_contents()适合中小型文本;二、fopen()+fread()分块读取防内存溢出;三、file()按行读取便于格式化;四、readfile()直接输出效率最高;五、必须添加错误处理与安全校验。

php读取文件并显示在网页上_实现文件内容网页显示操作【教程】

如果您希望在网页上直接展示服务器上某个文件的内容,PHP 提供了多种内置函数来读取文件并输出到浏览器。以下是实现该功能的具体操作步骤:

一、使用 file_get_contents() 读取并输出

该函数将整个文件内容一次性读入字符串,适合处理中小型文本文件,语法简洁且执行效率较高。

1、在 PHP 文件中声明文件路径,例如 $filepath = 'example.txt';。

2、调用 file_get_contents($filepath) 获取文件全部内容,并赋值给变量。

立即学习“PHP免费学习笔记(深入)”;

3、使用 echo 或 print 输出该变量内容到网页。

4、为防止中文乱码,需在输出前添加 header('Content-Type: text/html; charset=utf-8');。

二、使用 fopen() + fread() 分块读取输出

该方式通过打开文件指针并分段读取内容,适用于大文件或需要控制内存占用的场景,避免一次性加载过大内容导致脚本超时或内存溢出。

1、使用 $handle = fopen($filepath, 'r'); 以只读模式打开文件。

2、检查返回值是否为有效资源,若为 false 则说明文件不可读或不存在。

3、使用 fread($handle, $length) 每次读取指定字节数(如 8192),循环直至 feof($handle) 返回 true。

4、每次读取后立即用 echo 输出,最后调用 fclose($handle) 关闭文件句柄。

三、使用 file() 函数按行读取并显示

该函数将文件按行分割为数组,每行作为数组一个元素,适合需要逐行处理或格式化显示的文本内容,如日志、配置文件等。

btpanel phpsite 宝塔面板PHP网站
btpanel phpsite 宝塔面板PHP网站

宝塔面板 PHP 网站管理:站点创建、删除、启停、PHP 版本切换、域名管理、SSL证书管理、伪静态管理、数据库管理

下载

1、调用 $lines = file($filepath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 读取文件并自动过滤空行与换行符。

2、使用 foreach ($lines as $line) 遍历数组。

3、在循环体内对每行内容进行 HTML 转义,例如 echo htmlspecialchars($line) . '
';
。

4、确保页面编码设置为 UTF-8,避免特殊字符显示异常。

四、使用 readfile() 直接输出文件流

该函数不经过 PHP 变量缓存,直接将文件内容写入输出缓冲区,执行效率最高,适用于纯文本、CSS、JS 等无需处理的静态文件。

1、设置响应头: header('Content-Type: text/plain; charset=utf-8');。

2、调用 readfile($filepath),函数会自动处理文件打开、读取和关闭全过程。

3、若文件路径含用户输入,请务必验证路径合法性,防止目录遍历攻击,例如限制根目录范围或使用白名单校验。

五、添加错误处理与安全校验

在生产环境中,直接读取任意文件存在安全隐患,必须加入访问控制与异常捕获机制,防止敏感文件泄露或路径穿越。

1、使用 is_file($filepath) && is_readable($filepath) 双重判断文件是否存在且可读。

2、通过 realpath($filepath) 获取真实路径,并比对预设允许目录前缀,拒绝超出范围的路径请求。

3、对输出内容统一执行 htmlspecialchars($content, ENT_QUOTES, 'UTF-8'),防止 XSS 注入。

4、设置最大允许文件大小限制,例如 if (filesize($filepath) > 1048576) die('文件过大');(限制 1MB)。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

3480

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

269

2026.02.03

php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

838

2025.12.04

fclose函数的用法
fclose函数的用法

fclose是一个C语言和C++中的标准库函数,用于关闭一个已经打开的文件,是文件操作中非常重要的一个函数,用于将文件流与底层文件系统分离,释放相关的资源。更多关于fclose函数的相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

842

2023.11.30

fclose函数的用法
fclose函数的用法

fclose是一个C语言和C++中的标准库函数,用于关闭一个已经打开的文件,是文件操作中非常重要的一个函数,用于将文件流与底层文件系统分离,释放相关的资源。更多关于fclose函数的相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

842

2023.11.30

fclose函数的用法
fclose函数的用法

fclose是一个C语言和C++中的标准库函数,用于关闭一个已经打开的文件,是文件操作中非常重要的一个函数,用于将文件流与底层文件系统分离,释放相关的资源。更多关于fclose函数的相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

842

2023.11.30

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1938

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

3184

2023.09.04

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

20

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn