如何在PHP上保存来自MySQL Query的CSV文件,在服务器上

时间:2014-03-09 19:37:32

标签: php mysql csv export-to-csv

我在Bluehost上有一个域,需要一个PHP脚本来执行SQL选择并将数据导出到CSV文件,该文件保存在服务器上的某个文件夹中。这是我在PHP中尝试的内容:

$result = mysql_query("SELECT * FROM table WHERE MONTHNAME(date) = '$month' AND YEAR(date) = '$year' AND uid = '$uid' INTO OUTFILE 'test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'");

这是我的第一次尝试,但我一直在获取权限错误,我正在尝试将文件保存到文件夹....这是在www / folder /子文件夹

我的第二次尝试就是:

$output = fopen('http://server.com/folder/subfolder/test.csv', 'w+');

fputcsv($output, array('tripid','startingLoc','endingLoc'));

$rows = mysql_query('SELECT tripid, startingLoc, endingLoc FROM autoTracker_trips');
while ($row = mysql_fetch_assoc($rows)) fputcsv($output,$row);

我收到以下错误:

[09-Mar-2014 12:43:38 America/Denver] PHP Warning:  fopen(http://server.com/folder/subfolder/test.csv): failed to open stream: HTTP wrapper does not support writeable connections in /home4/geronim9/public_html/folder/subfolder/export_csv.php on line 35
[09-Mar-2014 12:43:38 America/Denver] PHP Warning:  fputcsv() expects parameter 1 to be resource, boolean given in /home4/geronim9/public_html/folder/subfolder/export_csv.php on line 37

所以我的问题是,在服务器上哪里是保存CSV文件的好地方...我可以从PHP保存哪里,建议使用哪两种方法

注意:上面两个代码示例我都有连接信息,我只是不想发布。

谢谢!

2 个答案:

答案 0 :(得分:0)

你应该使用服务器路径而不是http路径使函数fopen()正常工作,所以改为

/your/path/folder/subfolder/test.csv

否则您需要在php.ini中激活allow_url_fopen

答案 1 :(得分:0)

试试这个: $ fp = fopen(' php://输出',' w');