我在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保存哪里,建议使用哪两种方法
注意:上面两个代码示例我都有连接信息,我只是不想发布。
谢谢!
答案 0 :(得分:0)
你应该使用服务器路径而不是http路径使函数fopen()
正常工作,所以改为
/your/path/folder/subfolder/test.csv
否则您需要在php.ini中激活allow_url_fopen
答案 1 :(得分:0)
试试这个: $ fp = fopen(' php://输出',' w');