php打开文件性能

标签 php performance file

我有一个关于 php 和打开文件的问题

PHP 有不止一种打开文件的函数:

file_get_contents()
fopen()
file()

我的问题与性能有关。在我的服务器上,我必须打开文件,然后检查内容,根据需要进行一些修改,然后重新保存它们。

我想尽快做出这些改变

哪个打开文件(小文件和大文件)性能更好?意义;为什么要优先使用一个?

最佳答案

file_get_contents() 和 file() 都将整个文件读入内存 - 区别在于一个返回一个字符串,而另一个返回一个数组。

对于小文件,这对您来说可能不会造成太大的性能影响。

对于较大的文件,这肯定会产生巨大的影响。如果目标文件的大小为 20MB,并且您需要检查文件中某个已知距离处的特定数据段,则 fopen() 然后寻找该已知位置以获取您需要的数据会更快,几个数量级。

当然,20MB 只是我凭空得出的任意数字,但考虑到任意大的文件可能会超过服务器对 PHP 环境施加的资源使用限制。

关于php打开文件性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8206836/

相关文章:

javascript - 遍历对象列表并检查属性值

C.从文件中扫描特定行的部分并将其分配给某个变量

javascript - 在 url 中隐藏获取变量?

c# - 性能问题 : comparing to String. 格式

php - 如何处理 PHP+MySQL 中的 UTF-8 与 Latin-1 编码问题

macos - 具有嵌套相对宽度的自动布局性能?

android - CordovaResourceApi 导入 Unresolved phonegap

javascript - Socket.io:同一图像未连续发送两次

php - 尝试将 libxslt 添加到 Docker 容器

php - 使用 codeigniter 将数据插入数据库