猿问

如何从php脚本创建和下载csv文件?

我是一个新手程序员,我搜索了很多有关我的问题的内容,但是找不到关于此的有用的解决方案或教程。


我的目标是我有一个PHP数组,并且数组元素显示在页面上的列表中。


我想添加一个选项,以便用户如果需要,他/她可以创建带有数组元素的CSV文件并下载。


我不知道该怎么做。我也搜索了很多。但尚未找到任何有用的资源。


请为我提供一些教程或解决方案或建议以自己实施。由于我是新手,请提供易于实施的解决方案。


我的数组看起来像:


Array

(

    [0] => Array

        (

            [fs_id] => 4c524d8abfc6ef3b201f489c

            [name] => restaurant

            [lat] => 40.702692

            [lng] => -74.012869

            [address] => new york

            [postalCode] => 

            [city] => NEW YORK

            [state] => ny

            [business_type] => BBQ Joint

            [url] => 

        )


)


白衣非少年
浏览 334回答 3
3回答

慕姐4208626

但是我不得不补充;在Content-Disposition标头的末尾。如果没有它,浏览器将在文件名的末尾添加两个破折号(例如,文件不是“ export.csv”,而是另存为“ export.csv--”)。可能会尝试在标题行的末尾清理\ r \ n。正确的行应如下所示:header('Content-Disposition: attachment;filename="'.$filename.'";');如果CSV中包含UTF-8字符,则必须通过更改Content-Type行将编码更改为UTF-8:header('Content-Type: application/csv; charset=UTF-8');另外,我发现使用rewind()代替fseek()更优雅:rewind($f);感谢您的解决方案!

倚天杖

尝试... csv下载。<?php&nbsp;mysql_connect('hostname', 'username', 'password');mysql_select_db('dbname');$qry = mysql_query("SELECT * FROM tablename");$data = "";while($row = mysql_fetch_array($qry)) {&nbsp; $data .= $row['field1'].",".$row['field2'].",".$row['field3'].",".$row['field4']."\n";}header('Content-Type: application/csv');header('Content-Disposition: attachment; filename="filename.csv"');echo $data; exit();?>
随时随地看视频慕课网APP
我要回答