PHP 中 file、file_get_contents 和 fopen 之间的区别

2022-08-30 14:05:14

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


答案 1

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

fopen 函数执行完全不同的操作 — 它打开一个文件描述符,该描述符用作读取写入文件的流。它是一个低得多的函数,是围绕C函数的简单包装器,简单地调用除了打开流之外不会做任何事情。fopenfopen

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

所以,回顾一下:

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

答案 2

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


推荐