使用 file_put_contents 将数组逐行写入文件时,可通过字符串拼接方式在开头插入一行自定义文本,避免多次 i/o 操作,提升效率与可读性。
在 PHP 中,file_put_contents() 并不直接支持“向数组内容前追加一行”,但可通过构建完整字符串的方式优雅实现该需求。关键在于:不要将数组直接传入函数(PHP 会尝试将数组转为字符串 "Array"),而是手动拼接每行内容,并在最前面加入所需标题行。
以下是推荐的实现方式:
$a = "one line";
$emails = $a . "\n"; // 开头添加单行文本 + 换行符
while ($row = $data->fetch(PDO::FETCH_ASSOC)) {
$emails .= $row['id'] . "\n"; // 每个 ID 后追加换行
}
// 注意:文件路径应包含完整文件名,如 "uploads/emails.txt"
file_put_contents("uploads/emails.txt", $emails, FILE_APPEND | LOCK_EX);✅ 重要说明:
? 进阶提示(可选):
如需确保文件开头仅存在一次 $a(例如

综上,通过字符串累积 + 显式换行控制,即可简洁、可靠地实现在批量数据前插入固定标题行的需求。