我是PHP的新手,我不太确定:file()
,file_get_contents()
和fopen()
函数之间的区别是什么?我应该何时使用其他
答案 0 :(得分:70)
前两个,file
和file_get_contents
非常相似。它们都读取整个文件,但file
将文件读入数组,而file_get_contents
将其读入字符串。 file
返回的数组将以换行符分隔,但每个元素仍然会附加终止换行符,因此您仍需要注意这一点。
fopen
函数完全不同 - 它打开一个文件描述符,用作读取或文件的流。它是一个低级函数,是C fopen
函数的简单包装器,只是调用fopen
除了打开一个流之外什么也不做。
在您打开文件句柄后,您可以使用其他功能,例如fread
和fwrite
来操纵句柄所指的数据,并在您完成后,您需要使用fclose
关闭流。这些可以让您更好地控制您正在阅读的文件,如果您需要原始二进制数据,您可能需要使用它们,但通常您可以使用更高级别的函数。
所以,回顾一下:
file
- 将整个文件内容读入一行数组。file_get_contents
- 将整个文件内容读入字符串。fopen
- 打开一个文件句柄,可以使用其他库函数进行操作,但不会自行读取或写入。答案 1 :(得分:11)
file
- 将整个文件读入数组中
file_get_contents
- 将整个文件读入字符串
fopen
- 打开文件或网址