PHP打开文件性能


php open file performance

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

PHP有多个打开文件的函数:

file_get_contents()
fopen()
file()

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

我想尽快完成这些修改

哪个打开文件(小文件和大文件)性能更好?意义;为什么使用其中一个而不使用其他?

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

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

对于较大的文件,绝对可以产生巨大的影响。如果目标文件的大小是20MB,并且您需要在文件的某个已知距离上检查特定的数据段,那么fopen()然后查找该已知位置以获得所需的数据将会快得多,沿着几个数量级的顺序。

当然,

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