PHP文件读取操作
读文件常用四个函数,按场景挑就行,别死记。
file_get_contents 一把梭,小文件首选,一行拿到全部内容。
readfile 更省内存,读出来直接吐给浏览器,不往变量里放。
file 按行拆成数组,做日志分析特别顺手。
fopen 加 fread 适合大文件,边读边处理,不至于把内存撑爆。
<?php
// 1. 一次读完整文件,小文件最省事
$txt = file_get_contents('test.txt');
echo $txt;
// 2. 大文件分批读,每次1KB
$fp = fopen('test.txt', 'r');
while (!feof($fp)) { // 没到文件末尾就继续
echo fread($fp, 1024);
}
fclose($fp); // 别忘了关
// 3. 按行读成数组,逐行输出
$lines = file('test.txt');
foreach ($lines as $line) {
echo trim($line) . '<br>';
}
// 4. 直接输出,不进变量
readfile('test.txt');
?>
几个坑:路径写错直接报 warning,读之前用 file_exists 判断一下;Linux 下注意文件权限,PHP 跑在 www 用户上,不是 root;编码是 GBK 的文件读出来会乱码,先转 UTF-8 再处理。
说点什么 0