How to auto-create and save spreadsheet document on server.

mapenn used Ask the Experts™
I am writing a PHP script that pulls data from a MySQL table and converts it into an Excel spreadsheet. This process functions correctly -- I can output it as a downloadable file to the user's browser.

Now, the final step is what I am having trouble with. Instead of outputting the the browser, this script needs to SAVE the data as an excel file on the web server. The script will be run nightly as a cron job.

I am attaching a code snippet that shows how I am combining the headers and the data ($data) for the output.

Instead of outputting to the browser, how can I output to a saved file on the server? Thanks!
header("Content-type: application/xls");
header("Content-Disposition: attachment; filename=Beta_Product_Master_Table.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo $header."\n".$data;s

Open in new window

Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
I could possible be missing the point here, but if you want to save the file (and have the data part figured out already) though a cron job, you could do the following...

(Note: I've only actually done this with PDFs)

See Code Snippet...

Then in SSH:

# crontab -e
 ...browse to bottom of crontab...
0            23      *       *       *       lynx -dump >/dev/null 2>&1
(ZZ to save)

This will execute the target script 11:00 PM nightly.
$fname = "/path/to/".mktime().".xls"; //added timestamp to make unique
$data = "data\n data\n data\n";
$file = fopen($fname, "w");
fwrite($file, $data);
mail('', 'new XLS created', "$file was created on server");
You will need to give write permissions to both the 
script calling fopen() as well as the directory which 
you would like to save the file. Cheers.

Open in new window


Perfect. Thank You so much!


Thanks it helps a lot

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial