【问题标题】:php open file performancephp打开文件性能
【发布时间】:2011-11-21 03:07:04
【问题描述】:

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

PHP 有不止一种打开文件的功能:

file_get_contents()
fopen()
file()

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

我想尽快做出这些改变

哪一个更好地打开文件(无论大小)性能明智?意义;为什么要优先使用其中一个?

【问题讨论】:

    标签: php performance file


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 2012-03-22
      • 2018-07-28
      • 1970-01-01
      相关资源
      最近更新 更多