【问题标题】:PHP file_get_contents multiple times for the same filePHP file_get_contents 多次用于同一个文件
【发布时间】:2013-06-02 22:55:45
【问题描述】:

在 PHP 中使用file_get_contents,如果我在同一个文件上使用它两次会发生什么?

仅加载一次文件并在后续调用中简单引用第一次调用的结果是否足够智能?还是我需要自己实现类似的东西?

在文档中有一行这样说,但我真的不明白它的含义或它是否相关:

如果您的操作系统支持,它将使用内存映射技术来提高性能。

我不确定如何准备一个测试用例来为自己解决这个问题,所以任何关于我如何做到这一点的信息也会很有用。

【问题讨论】:

    标签: php


    【解决方案1】:

    它将读取文件两次。如果您想要两次相同的内容,请将其放在一个变量中,作为一种良好的做法。

    【讨论】:

    • 我是这么认为的,但似乎 PHP 会足够聪明地处理它以避免人们向它发送垃圾邮件。我也确信这将是重复的,但我找不到任何东西。如果您这样做(作为版主),请告诉我。
    • @MartyWallace:嗯,一般来说真的很难说;文件读取之间可能发生任何事情,或者文件可能太大而无法缓存,或者它可能是套接字/管道等。当开发人员可以准确地告诉程序要做什么时,它永远不会可靠并且不值得:) [据我通过搜索可以看出,它不是重复的。]
    • 但是如果 PHP 会缓存它会导致问题,如果你更改文件(例如通过 ajax 调用或其他)并希望能够重新加载文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2018-08-24
    相关资源
    最近更新 更多