PHP生成的CSV文件用webhost而不是数据填充html垃圾?

时间:2012-10-16 20:06:14

标签: php csv fputcsv

我正在使用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文件中吗?

我如何解决,我的资金有点低,所以我买不起付费服务器。 感谢

1 个答案:

答案 0 :(得分:1)