Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php开放文件性能_Php_Performance_File - Fatal编程技术网

php开放文件性能

php开放文件性能,php,performance,file,Php,Performance,File,我有一个关于php和打开文件的问题 PHP有多个打开文件的函数: file_get_contents() fopen() file() 我的问题与绩效有关。在我的服务器上,我必须打开文件,然后检查内容,如果需要做一些修改,然后重新保存它们 我想尽快做出这些改变 哪一种打开文件(大小文件)的性能更好?意思为什么要优先使用其中一个呢?file\u get\u contents()和file()都将整个文件读入内存-区别在于一个返回字符串,而另一个返回数组 对于小型(ish)文件,这可能不会对您的性

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

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

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

我想尽快做出这些改变

哪一种打开文件(大小文件)的性能更好?意思为什么要优先使用其中一个呢?

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

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

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

20MB当然是一个任意的数字,但我认为一个任意大的文件可能会超过服务器在PHP环境下的资源使用限制。