我想创建一个csv文件,但当我运行代码时,它返回一个空白页,没有csv文件。我使用PHP 5。我使用以下代码:
<?php
$data = array ('aaa,bbb,ccc,dddd',
'123,456,789',
'"aaa","bbb"');
$fp = fopen('data.csv', 'w');
foreach($data as $line){
$val = explode(",",$line);
fputcsv($fp, $val);
}
fclose($fp);
?>
谢谢你!
6条答案
按热度按时间ff29svar1#
它是空的,因为您正在写入
file
。你应该使用php://output
写入output
,并且发送头信息来表明它是csv。示例
xxhby3vn2#
@Baba的回答很棒。但您不需要使用
explode
,因为fputcsv
接受数组作为参数例如,如果你有一个三列四行的文档,这里有一个更直接的版本:
3htmauhk3#
以防有人想将CSV文件保存到电子邮件附件的特定路径。然后可以按如下方式进行
我知道我已经为新手添加了很多评论:)
我加了一个例子,以便你能很好地总结。
注意:以下是一个非常糟糕的想法,以增加memory_limit和time limit,但我只是为了确保任何人都面临连接超时或任何其他问题。在坚持之前,一定要找到一些替代方案。
您必须在上述脚本的开头添加以下内容。
bbmckpt74#
如果有人仍然在寻找答案(一个简单的答案),这里是用PHP创建csv的简单方法。
6kkfgxo05#
我想这是最近的路
wztqucjr6#
使用此函数将对象数组写入csv文件(假设它们都包含相同的属性):