【问题标题】:Difference between file, file_get_contents, and fopen in PHPPHP中file、file_get_contents和fopen的区别
【发布时间】:2014-06-03 05:43:19
【问题描述】:

我是 PHP 新手,我不太确定:file()file_get_contents()fopen() 函数之间有什么区别,什么时候应该使用其中一个?

【问题讨论】:

    标签: php file fopen


    【解决方案1】:

    前两个filefile_get_contents 非常相似。他们都读取整个文件,但file 将文件读入数组,而file_get_contents 将其读入字符串。 file 返回的数组将由换行符分隔,但每个元素仍会附加终止换行符,因此您仍然需要注意这一点。

    fopen 函数做了一些完全不同的事情——它打开一个文件描述符,它作为一个流来读取文件。它是一个低级函数,是 C fopen 函数的简单包装器,简单地调用 fopen 只会打开一个流。

    打开文件的句柄后,您可以使用freadfwrite 等其他函数来操作句柄引用的数据,完成后,您需要关闭流通过使用fclose。这些可以让您更好地控制正在读取的文件,如果您需要原始二进制数据,您可能需要使用它们,但通常您可以坚持使用更高级别的函数。

    所以,回顾一下:

    • file — 将整个文件内容读入行数组。
    • file_get_contents — 将整个文件内容读入字符串。
    • fopen — 打开一个可以用其他库函数操作的文件句柄,但它本身不读写。

    【讨论】:

    • 有没有类似的写入文件的高级函数,比如file_write_contents?
    • @M.Hassaan file_put_contents($path, $content);
    【解决方案2】:

    file — 将整个文件读入数组
    file_get_contents — 将整个文件读入字符串
    fopen — 打开文件或 URL

    【讨论】:

    • 我已经阅读了它,但不确定是否正确。我不知道,它是什么函数,解析器在哪里逐行读取?
    猜你喜欢
    • 2020-04-27
    • 1970-01-01
    • 2014-02-02
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    相关资源
    最近更新 更多