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

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

mapennAsked:
Who is Participating?
 
Mahdii7Connect With a Mentor Commented:
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 http://www.domain.com/target.php >/dev/null 2>&1
(ZZ to save)

This will execute the target script 11:00 PM nightly.
<?php
$fname = "/path/to/domain.com/file/saves/xls_file_".mktime().".xls"; //added timestamp to make unique
$data = "data\n data\n data\n";
$file = fopen($fname, "w");
fwrite($file, $data);
fclose($file);
mail('your@email.com', '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

0
 
mapennAuthor Commented:
Perfect. Thank You so much!
0
 
mapennAuthor Commented:
Thanks it helps a lot
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.