我正在使用 PHP 生成一个带有名字和第二个名字的 csv 文件。
在我的本地 XAMPP 服务器上,它工作正常并生成此输出。
Andy,Murray
Sarah,Palin
Bob,Saget
然而,在这个 000webhost.com 免费虚拟主机站点上,我得到以下输出。
<br><table border='1' cellpadding='2' bgcolor='#FFFFDF' bordercolor='#E8B900' align='center'><tr><td><font face='Arial' size='1' color='#000000'><b>PHP Error Message</b></font></td></tr></table><br />
<b>Warning</b>: array_walk() [<a href='function.array-walk'>function.array-walk</a>]: The argument should be an array in <b>/home/a2806375/public_html/csv.php</b> on line <b>15</b><br />
<br><table border='1' cellpadding='2' bgcolor='#FFFFDF' bordercolor='#E8B900' align='center'><tr><td><div align='center'><a href='http://www.000webhost.com/'><font face='Arial' size='1' color='#000000'>Free Web Hosting</font></a></div></td></tr></table>
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->
这是我的代码:
function outputCSV($data)
{
$outstream = fopen("php://output", "w");
function __outputCSV(&$vals, $key, $filehandler)
{
fputcsv($filehandler, $vals); // add parameters if you want
}
array_walk($data, "__outputCSV", $outstream);
fclose($outstream);
}
$result = $db->fetch_array($result);
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=guestlist.csv");
header("Pragma: no-cache");
header("Expires: 0");
outputCSV($result);
为什么要这样做?
是因为它是一个免费的托管网站,而且他们正试图将广告放在 CSV 文件中吗?
我该如何解决,我的 atm 钱有点少,所以我买不起付费服务器。谢谢