在 PHP 中,读取文件内容是开发中非常常见的操作。file() 和 file_get_contents() 是两种常用的读取文件的函数,但它们在返回值、用途和性能上都有所不同。本文将详细对比它们的差异,并给出选择建议。
"; // 1. file() 函数 echo "file() 函数会将整个文件读入数组中,每一行作为数组的一个元素返回:
"; echo "\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>"\$lines = file('example.txt');\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>"foreach (\$lines as \$line) {\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>" echo \$line;\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>"}\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>"";
echo "特点:
"; echo "file_get_contents() 会将整个文件读入一个字符串中:
"; echo "\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>"\$content = file_get_contents('example.txt');\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>"echo \$content;\n"</span></span><span>;
</span><span><span>echo</span></span><span> </span><span><span>"";
echo "特点:
"; echo "| 特性 | file() | file_get_contents() |
|---|---|---|
| 返回类型 | 数组,每行一个元素 | 字符串,整个文件内容 |
| 适用场景 | 按行处理文件内容 | 一次性获取整个文件内容,整体处理 |
| 内存使用 | 大文件按行会占用更多内存 | 大文件一次性读入可能消耗更多内存 |
| 常见用途 | 逐行读取日志、配置文件 | 读取模板、配置文本、API 响应 |
选择哪个函数取决于你的需求:
"; echo "总结来说,file() 更适合逐行处理,file_get_contents() 更适合一次性获取整个内容。根据实际需求选择合适的函数,可以让你的 PHP 文件操作更高效。
"; ?> <?php // 尾部示例:与正文无关 $footerMessage = "—— PHP 学习小课堂结束 ——"; echo $footerMessage; ?>相关标签:
file_get_contents