PHP中的文件读取函数file_get_contents()使用方法详解
PHP中的文件读取函数file_get_contents()是接收一个文件路径作为参数,将该文件按照二进制或文本的方式读取出来,以字符串的形式返回。该函数广泛应用于读取配置文件、读取模板文件等。
一、基本语法
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $length ]]]] )
参数说明:
- $filename:必须,文件路径,例如:'./file.txt'。
- $use_include_path:可选,是否在include_path中查找文件,默认为false不查找。
- true:查找该文件;
- false:不查找该文件。
- $context:可选,设置流的各种参数,如发送超时时间,加密方式等,具体可以看[流上下文(Streams context options)](http://php.net/manual/zh/context.php) 。
- $offset:可选,文件开始读取的位置,默认为-1,表示从文件头开始读取。
- $length:可选,读取的长度,默认为读取到文件结尾。
返回值:返回读取到的数据,如果读取失败则返回false。
二、示例
1.读取普通文本文件
$file_content = file_get_contents('./file.txt');
echo $file_content; //输出文件内容
2.读取二进制文件
$file_content = file_get_contents('./image.jpg');
echo $file_content; //输出二进制文件内容
3.读取远程文件
$file_content = file_get_contents('https://www.example.com/');
echo $file_content; //输出网页内容
4.使用流上下文读取文件
//设置一个流上下文参数
$context = stream_context_create(array(
'http' => array('timeout' => 30)
));
$file_content = file_get_contents('./file.txt', false, $context);
echo $file_content; //输出文件内容
5.读取文件的一部分内容
$file_content = file_get_contents('./file.txt', false, null, 10, 20);
echo $file_content; //输出文件内容的第10个字符开始的20个字符
三、注意事项
1.使用file_get_contents()函数读取大文件时,应该使用fopen()函数和fread()函数分多次读取,并且要关闭文件指针。
$file_handle = fopen('./big_file.txt', 'rb');
$file_content = '';
while(!feof($file_handle)) {
$file_content .= fread($file_handle, 8192);
}
fclose($file_handle);
echo $file_content; //输出大文件内容
2.使用file_get_contents()函数读取远程文件时,需要在php.ini中打开allow_url_fopen选项。
allow_url_fopen = On
3.在PHP5.3之前的版本,函数返回false时,可以通过以下代码获取错误信息。
if($file_content === false) {
$error_message = error_get_last()['message'];
}
4.使用file_get_contents函数读取非UTF-8编码的文件时,需要使用iconv函数转码。
$file_content = file_get_contents('./gbk_file.txt');
$file_content = iconv('gbk', 'utf-8', $file_content);
echo $file_content;
以上就是关于PHP中文件读取函数file_get_contents()的使用方法汇总,希望能对大家有所帮助。
