2

I have a domain on Bluehost and need a PHP script which will execute a SQL select and export the data to a CSV file which is saved in some folder on the server. Here is what I tried in 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'");

This was my first attempt but I keep getting permission errors with the folder I am trying to save the file into....which is in www/folder/subfolder

My second attempt is this:

$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);

I get the following errors:

[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

So my question is, where on the server is a good place to save the CSV file...where am I allowed to save from PHP, and which of the two approaches is recommended

Note: above both examples of code above I have the connection info, I just didn`t want to post that.

Thank you!

1
  • file path not website url! Commented Mar 9, 2014 at 19:41

2 Answers 2

1

Try this : $fp = fopen('php://output', 'w');

Sign up to request clarification or add additional context in comments.

Comments

0

You are supposed to use server path and not http path for the function fopen() to work correctly so change to

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

Otherwise you will need to activate allow_url_fopen in your php.ini

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.