I was following the example given on the php site that someone was using to break down large files. They base64 encoded the file while reading it in, broke it into pieces (while inputing the pieces into the db), then re-animated it so to speak afterwards by reversing the process. I get the impression that encoding the file will leave it in a state that is palatable to the database (no quotes,commas,slashes etc) and it seemed that since the example worked that way that I'd follow suit. Plus, if I decided that the file sizes should be split up, I could ultimately simply change a line of code or so and split it up. It is only from a lack of thorough understanding of exactly what characters can be found in a pdf file when viewed as a single string for the database that I don't step out and design something of which I have not seen an example. Plus I figure that I should learn from people out there of whom many have spent many hours beating their head against a wall looking for a solution and are later willing to share that as an example to save others time.
-----Original Message----- From: Chris [mailto:[EMAIL PROTECTED] Sent: Saturday, December 20, 2003 5:55 PM To: PHP List Subject: RE: [PHP] mysql load_file retreival Gald to hear it works now. Are you base64 encoding it for any particular reason? Seems to me that it would waste a lot of db space as base64 encoding adds quite a bit to the filesize. Chris -----Original Message----- From: Larry Brown [mailto:[EMAIL PROTECTED] Sent: Saturday, December 20, 2003 2:16 PM To: Chris; PHP List Subject: RE: [PHP] mysql load_file retreival Thanks for the help. I went through a troubleshooting phase that started with writing the raw data from the mysql client to disk. Checking the size it was apparent that it was much too small. I tried running my script with a smaller pdf and it worked. It turns out that blob has a max of 64k. A tad small for general use for holding graphics. I changed to a mediumblob which is either 12 or 16 meg, I'm not sure off the top of my head now but, that is plenty for my needs. I did end up changing the behaviour of my script though. Instead of writing to a file and using load_file, I recieved the file on upload, base64 encoded it and stored it directly to the db. Then on retrieval, unencoded and handed it off with content type, size, name, and application information in the header. It works very nicely. Thanks again... Larry -----Original Message----- From: Chris [mailto:[EMAIL PROTECTED] Sent: Saturday, December 20, 2003 3:49 PM To: PHP List Subject: RE: [PHP] mysql load_file retreival Try looking at the data that's supposed to be outputing the pdf. Something may be failing somewhere and you might see an error message. If you don't see any error messages and are apparently seeing gthe pdf data, check for whitespace outside php tags and any extraneous echo's or print's, that would very likely cause the pdf to not be able to be read properly. Chris -----Original Message----- From: Larry Brown [mailto:[EMAIL PROTECTED] Sent: Saturday, December 20, 2003 10:36 AM To: Chris; PHP List Subject: RE: [PHP] mysql load_file retreival Oops, my bad on the post. I am not sending echo header...just header(... I thought, based on reading from mysql that it did escape certain characters. I'll start looking at other possibilities... -----Original Message----- From: Chris [mailto:[EMAIL PROTECTED] Sent: Saturday, December 20, 2003 1:24 PM To: PHP List Subject: RE: [PHP] mysql load_file retreival LOAD_FILE() shouldn't be escaping the data. Are you actually calling : echo header()? the header function should not be echoed. header('Content-type: application/pdf'); echo result[0]; -----Original Message----- From: Larry Brown [mailto:[EMAIL PROTECTED] Sent: Saturday, December 20, 2003 9:29 AM To: PHP List Subject: [PHP] mysql load_file retreival I have set up a script to recieve a pdf file and store it in a mysql db using "update db set field=load_file('fileIncludingFile') where id=$id". Afterwards I can see the file has been uploaded into the blob field successfully and without errors. Now I want to get the file back out. I set up a script with "select field from db where id=$id" and used mysql_query followed by mysql_fetch_row and did echo header("Content-type: application/pdf"); and then echo result[0]; where result was the row fetched. I get the prompt to open with pdf but pdf fails. I have magicquotes on but I understand that the load_file() function within mysql does the escaping etc. How can I "un-escape" the data? The only thing I saw on the mysql manual is on how to use load_file_infile/load_file_outfile which does not apply to this. Can someone lend a hand here? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php