我有一个关于 php 和打开文件的问题
PHP 有不止一种打开文件的函数:
file_get_contents()
fopen()
file()
我的问题与性能有关。在我的服务器上,我必须打开文件,然后检查内容,根据需要进行一些修改,然后重新保存它们。
我想尽快做出这些改变
哪个打开文件(小文件和大文件)性能更好?意义;为什么要优先使用一个?
最佳答案
file_get_contents() 和 file() 都将整个文件读入内存 - 区别在于一个返回一个字符串,而另一个返回一个数组。
对于小文件,这对您来说可能不会造成太大的性能影响。
对于较大的文件,这肯定会产生巨大的影响。如果目标文件的大小为 20MB,并且您需要检查文件中某个已知距离处的特定数据段,则 fopen() 然后寻找该已知位置以获取您需要的数据会更快,几个数量级。
当然,20MB 只是我凭空得出的任意数字,但考虑到任意大的文件可能会超过服务器对 PHP 环境施加的资源使用限制。
关于php打开文件性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8206836/