【问题标题】:How to save CSV file from MySQL Query in PHP, on server如何在服务器上用 PHP 保存 MySQL Query 中的 CSV 文件
【发布时间】:2014-04-12 18:51:19
【问题描述】:

我在 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/subfolder 中

我的第二次尝试是这样的:

$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 中保存,推荐两种方法中的哪一种

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

谢谢!

【问题讨论】:

  • 文件路径不是网址!

标签: php mysql csv export-to-csv


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-15
      相关资源
      最近更新 更多