1

我可以从 mysql 创建一个 csv,然后通过下面的代码将其保存在用户的计算机上。

        //Connecting to my database
        mysql_connect($hostname, $username, $password) OR DIE ("Unable to connect to database! Please try again later.");
        mysql_select_db($dbname);               


        // output headers so that the file is downloaded rather than displayed
        header('Content-Type: text/csv; charset=utf-8');
        header('Content-Disposition: attachment; filename=pikaObs_'.date("Ymd").'.csv');            


        // create a file pointer connected to the output stream
        $output = fopen('php://output', 'w');

        // output the column headings
        fputcsv($output, array('fid','firstName','lastName','email','phone','date','time','pikasSeen','haystacksSeen','pikasHeard','pikasDoing','habitatType','lattitude','longitude'));

        // fetch the data
        mysql_connect($hostname, $username, $password);
        mysql_select_db($dbname);
        $rows = mysql_query('SELECT * FROM pikaObs');

        // loop over the rows, outputting them
        while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);

我现在要做的是编写一个 php 脚本,将这个 csv 保存到服务器,而不是提示并存储在用户的机器上。

我可以修改上面的代码以将带有日期时间标记的新文件保存到服务器上的文件夹吗?

4

1 回答 1

2

简单的答案:让$output指向一个文件:

// create a file pointer connected to a file
$output = fopen('/path/to/yourfile', 'w+');

并删除对header()

于 2013-06-07T23:33:54.063 回答