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

时间:2014-06-03 05:43:19

标签: php file fopen

我是PHP的新手,我不太确定:file()file_get_contents()fopen()函数之间的区别是什么?我应该何时使用其他

2 个答案:

答案 0 :(得分:70)

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

fopen函数完全不同 - 它打开一个文件描述符,用作读取文件的流。它是一个低级函数,是C fopen函数的简单包装器,只是调用fopen除了打开一个流之外什么也不做。

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

所以,回顾一下:

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

答案 1 :(得分:11)

file - 将整个文件读入数组中 file_get_contents - 将整个文件读入字符串
fopen - 打开文件或网址