PHP 中的 fread() 函数可以在打开的文件中读取指定长度的数据,也可以安全用于二进制文件。在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,fread() 函数的 mode 参数要加上b。该函数的语法格式如下:
fread(resource $handle, int $length)
其中 $handle 为通过 fopen() 函数创建的文件资源;$length 为最多读取 $length 个字节。
fread() 函数可以从文件中读取指定长度的数据,当读取了 $length 个字节或者读取到了文件末尾(EOF)时函数会停止读取,并返回所读取到的字符串。如果读取失败则返回 FALSE。
注意,fread() 函数会从文件指针的当前位置读取。使用 ftell() 可以查找指针的当前位置,使用 rewind() 可以回放指针位置。
【示例】使用 fread() 函数读取文件的内容并输出。
$filename = "./test.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, '16');
echo '从文件中读取 16 个字符长度:'.$contents.'
';
rewind($handle);
$contents = fread($handle, filesize($filename));
echo '读取全部的文件内容:'.$contents;
fclose($handle);
运行结果如下:
从文件中读取 16 个字符长度:C语言中文网
读取全部的文件内容:C语言中文网 http://c.biancheng.net/
上面示例中使用到了一个 filesize() 函数,它的作用是获取文件大小,在 fread() 函数中的作用就是读取整个文件。
当从任何不是普通本地文件读取时,例如在读取从远程文件或 popen() 以及 fsockopen() 返回的流时,我们无法获取这些资源的大小,所以需要循环读取,然后将数据合并在一起,如下所示:
$handle = fopen("http://c.biancheng.net/", "r");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
fclose($handle);
$contents = iconv("gb2312", "utf-8", $contents); // 转换字符编码
echo $contents;
PHP 中的 fread() 函数可以在打开的文件中读取指定长度的数据,也可以安全用于二进制文件。在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,fread() 函数的 mode 参数要加上b。该函数的语法格式如下:fread(resource $handle, int $length)其中 $handle 为通过 fopen() 函数创建的文件资源;$length 为最多读取...
fread
()和readfile()
fread
()最大一次性能读取8k
长度
的字节数,所以不能一次性读取大文件去作下载。优势在于,操作更加灵活,每次读取指定字节的内容,用于下载时方便控制服务器的流量。readfile()优势是能够一次性读取大文件;不需要
PHP
预读到内存,下载速度更快,直接把文件的处理交由服务器。缺点就是不能控制负载。所以它是没有内存
限制
的,如果遇到报内存错误,先调用ob_end_flush()之类的函数关闭缓冲区。
file_get_contents也是没readfile()快,因为也是走了
//$signal = '55aa0502010001010100000000005f';
//去头 尾部 规则 从第6位向前取20位
$signal = substr($signal,4,22);
//获取设备类型 前2位
$jinz = array();
//2位循环
for($i=
本文实例汇总了
php
读取文件
内容的方法。分享给大家供大家参考。具体如下: 这里汇总
php
读取文件
内容的五种方法。...//指定读取
大小
,这里把整个文件内容读取出来 echo $str = str_replace(“\r\n”,”