PHP: 使用 fread() 从 http 资源读取部分文件
PHP: read part of file with fread() from http resource
我有以下 PHP 代码:
$fp=fopen("http://myurl.com/very_big_file.txt",'r');
$feed=fread($fp,16);
它工作正常,但我有一些疑问。它真的只读取前 16 个字节而不下载整个文件吗?
string fread ( resource $handle , int $length )
fread() 从 handle 引用的文件指针中读取最多 length 个字节。满足以下条件之一即停止阅读:
- 已读取长度字节
- 已到达 EOF(文件末尾)
- 数据包可用或发生套接字超时(对于网络流)<-- 这行说明了。
- 如果流是缓冲读取的并且它不代表普通文件,则最多一次读取最多等于块大小(通常为 8192)的字节数;根据之前缓冲的数据,返回数据的大小可能大于块大小。
我有以下 PHP 代码:
$fp=fopen("http://myurl.com/very_big_file.txt",'r');
$feed=fread($fp,16);
它工作正常,但我有一些疑问。它真的只读取前 16 个字节而不下载整个文件吗?
string fread ( resource $handle , int $length )
fread() 从 handle 引用的文件指针中读取最多 length 个字节。满足以下条件之一即停止阅读:
- 已读取长度字节
- 已到达 EOF(文件末尾)
- 数据包可用或发生套接字超时(对于网络流)<-- 这行说明了。
- 如果流是缓冲读取的并且它不代表普通文件,则最多一次读取最多等于块大小(通常为 8192)的字节数;根据之前缓冲的数据,返回数据的大小可能大于块大小。