csv在以cakephp导出该文件时包含HTML
我正在尝试执行导出和导入CSV文件的功能。 我已成功导入文件,但在导出文件时,下载的CSV文件包含带有页眉、正文和页脚的HTML代码。我想那是来自csv在以cakephp导出该文件时包含HTML,cakephp,Cakephp,我正在尝试执行导出和导入CSV文件的功能。 我已成功导入文件,但在导出文件时,下载的CSV文件包含带有页眉、正文和页脚的HTML代码。我想那是来自default.ctp,不确定 为什么,从哪里,代码会自动嵌入 <?php function export() { $fp = NULL; $results = NULL; $row = NULL; $results = $th
default.ctp
,不确定
为什么,从哪里,代码会自动嵌入
<?php function export()
{
$fp = NULL;
$results = NULL;
$row = NULL;
$results = $this->Order->find('all',array('fields'=> array('Order.sku','Order.inventory')));
$fp = fopen('php://output','w+');
$filename = "results.csv";
header('Content-type: application/csv');
header('Content-Disposition: attachment;');
fputcsv($fp,array(
'sku',
'inventory'
));
$ctr = count($results);
print($ctr);
foreach($results as $row)
{
fputcsv($fp,array(
$row['Order']['sku'],
$row['Order']['inventory']
));
}
fclose($fp);
} ?>
您需要禁用布局渲染,请将其粘贴到控制器操作中:
$this->autoRender = false;
技术上,这不是进行CSV的正确方法,您应该创建一个CSV布局和视图,但如果它起作用,请访问。这是一个简单的解决方案,或者创建一个包含必要标题的CSV布局,或者只使用内置的ajax布局:
$this->layout = 'ajax';
在控制器操作中。这将为您解决此问题。禁用控制器中的布局
<?php
$this->layout=null;
?>
您使用的蛋糕版本是什么?这可能不起作用,因为OP似乎没有向视图传递任何信息。也许我误解了他在做什么。。这个export()函数位于哪个文件中?