php输出文档,php 如何输出csv文档

如何创建一个CSV文件

方法1 - 使用HTTP头

至于在Word和Excel,您需要添加头信息到PHP脚本的例子。

下面的代码片断创建一个指定的表包括其列名CSV文件。然后会提示用户下载此文件。

$table = 'table_name';

$outstr = NULL;

header("Content-Type: application/csv");

header("Content-Disposition: attachment;Filename=cars-models.csv");

$conn = mysql教程_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("db",$conn);

// Query database to get column names

$result = mysql_query("show columns from $table",$conn);

// Write column names

while($row = mysql_fetch_array($result)){

$outstr.= $row['Field'].',';

}

$outstr = substr($outstr, 0, -1)." ";

// Query database to get data

$result = mysql_query("select * from $table",$conn);

// Write data rows

while ($row = mysql_fetch_assoc($result)) {

$outstr.= join(',', $row)." ";

}

echo $outstr;

mysql_close($conn);

?>

方法2 - 使用fputcsv()

在fputcsv()函数格式作为CSV行并将其写入一个打开的文件。欲了解更多信息,看

一看http://php.net/manual/en/function.fputcsv.php看看。

下面的代码片断创建一个指定表的列名,包括CSV文件,并将其发送到浏览器。

$table = 'table_name';

$filename = tempnam(sys_get_temp_dir(), "csv");

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("db",$conn);

$file = fopen($filename,"w");

// Write column names

$result = mysql_query("show columns from $table",$conn);

for ($i = 0; $i < mysql_num_rows($result); $i ) {

$colArray[$i] = mysql_fetch_assoc($result);

$fieldArray[$i] = $colArray[$i]['Field'];

}

fputcsv($file,$fieldArray);

// Write data rows

$result = mysql_query("select * from $table",$conn);

for ($i = 0; $i < mysql_num_rows($result); $i ) {

$dataArray[$i] = mysql_fetch_assoc($result);

}

foreach ($dataArray as $line) {

fputcsv($file,$line);

}

fclose($file);

header("Content-Type: application/csv");

header("Content-Disposition: attachment;Filename=cars-models.csv");

// send file to browser

readfile($filename);

unlink($filename);

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值