1

I know I can just upload the file to a folder in my server, save the directory location to the MYSQL database, and create a download link based on that directory location but what happens when you store a file like a pdf or zip archive directly on the MYSQL database? How do you retrieve that data and create a file download link then?

3 Answers 3

3

You shouldn't store file data in your database, that's what the file system is for!

However to answer your question you would store the file contents in a BLOB field which contains the binary data, then to download throw the correct headers and echo the field value.

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

Comments

2

You will have to set some content headers before outputting the data from your database, like:

header("Content-type: $type");
header("Content-length: $size");
header("Content-Disposition: attachment; filename=$name");
header("Content-Description: PHP Generated Data");
echo $data;

Full example at http://onlamp.com/pub/a/php/2000/09/15/php_mysql.html?page=3

Comments

2

You can create a php file like "download.php" that put the headers of that file type (and size) and the echo the contents of the file stored.

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.