php打开文件性能

Xin*_*ang 7 php performance file

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

PHP有多个打开文件的功能:

file_get_contents()
fopen()
file()
Run Code Online (Sandbox Code Playgroud)

我的问题与表现有关.在我的服务器上,我必须打开文件,然后检查内容,如果需要进行一些修改,并重新保存它们.

我想尽快做出这些改变

哪一个更好地打开文件(小型和大型)性能明智?含义; 为什么要先使用其他人?

Chr*_*her 8

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

对于小(ish)文件,这可能不会对您造成太大影响.

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

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