我正在尝试创建一个按钮,该按钮将强制执行CSV文件下载,但由于某种原因,我无法使其工作。这是我的代码:强制下载CSV文件
public function export_to_csv($result) {
$shtml="";
for ($i=0; $i<count($result); $i++){
$shtml = $shtml.$result[$i]["order_number"]. "," .$result[$i]["first_name"]. "," .$result[$i]["middle_name"]. "," .$result[$i]["last_name"]. "," .$result[$i]["email"]. "," .$result[$i]["shipment_name"]. "," .$result[$i]["payment_name"]. "," .$result[$i]["created_on"]. "," .$result[$i]["modified_on"]. "," .$result[$i]["order_status"]. "," .$result[$i]["order_total"]. "," .$result[$i]["virtuemart_order_id"]. "\n";
}
Header('Content-Description: File Transfer');
Header('Content-Type: application/force-download');
Header('Content-Disposition: attachment; filename=pedidos.csv');
}
$ result变量来自这里:
public function get_orders_k() {
$db=JFactory::getDBO();
$query = " select o.order_number, o.virtuemart_order_id, o.order_total, o.order_status, o.created_on, o.modified_on, u.first_name,u.middle_name,u.last_name "
.',u.email, pm.payment_name, vsxlang.shipment_name ' .
$from = $this->getOrdersListQuery();
$db->setQuery($query);
$result=$db->loadAssocList();
if ($result > 0)
{
$datos = VirtueMartModelKiala::export_to_csv($result);
}else return 0;
}
林不知道,甚至从哪里开始寻找。我已经通过各种方式浏览了互联网,并尝试了所有这些方法,但仍然无法实现其工作。请帮助我!
-Thanks
那么会发生什么呢?错误讯息?该文件是否在浏览器中显示?文件是否下载但被破坏? – JJJ
该文件没有下载,当我使用Firefox例如并使用Firebug来查看按钮的功能时,出现以下错误:500内部服务器错误 – MONZTAAA