【发布时间】:2014-06-03 05:43:19
【问题描述】:
我是 PHP 新手,我不太确定:file()、file_get_contents() 和 fopen() 函数之间有什么区别,什么时候应该使用其中一个?
【问题讨论】:
我是 PHP 新手,我不太确定:file()、file_get_contents() 和 fopen() 函数之间有什么区别,什么时候应该使用其中一个?
【问题讨论】:
前两个file 和file_get_contents 非常相似。他们都读取整个文件,但file 将文件读入数组,而file_get_contents 将其读入字符串。 file 返回的数组将由换行符分隔,但每个元素仍会附加终止换行符,因此您仍然需要注意这一点。
fopen 函数做了一些完全不同的事情——它打开一个文件描述符,它作为一个流来读取或文件。它是一个低级函数,是 C fopen 函数的简单包装器,简单地调用 fopen 只会打开一个流。
打开文件的句柄后,您可以使用fread 和fwrite 等其他函数来操作句柄引用的数据,完成后,您需要关闭流通过使用fclose。这些可以让您更好地控制正在读取的文件,如果您需要原始二进制数据,您可能需要使用它们,但通常您可以坚持使用更高级别的函数。
所以,回顾一下:
file — 将整个文件内容读入行数组。file_get_contents — 将整个文件内容读入字符串。fopen — 打开一个可以用其他库函数操作的文件句柄,但它本身不读写。【讨论】:
file — 将整个文件读入数组file_get_contents — 将整个文件读入字符串fopen — 打开文件或 URL
【讨论】: