Re: storing files in database and retriving them

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 27/07/10 14:16, Peter Lind wrote:
2010/7/27 Nilesh Govindarajan<lists@xxxxxxxxxx>:
2010/7/27 Dušan Novaković<ndusan@xxxxxxxxx>:
Hello,

so when I'm sending the array to model it's like this:

$fp = fopen(INVOICE_PATH.date('Y-m-d').DS.$pdfName, "r");
$pdfContent             = array(
                                        'file'  =>        base64_encode(fread($fp,
filesize(INVOICE_PATH.date('Y-m-d').DS.$pdfName))),
                                        'name'  =>        $pdfName,
                                        'size'  =>        filesize(INVOICE_PATH.date('Y-m-d').DS.$pdfName),
                                        'type'  =>        mime_content_type(INVOICE_PATH.date('Y-m-d').DS.$pdfName)
                                        );
fclose($fp);

so the data in db are ok, and this type is application/pdf.

And when I'm getting data, I get the array like this:

$file = Array
(
    [id] =>  2
    [file] =>VBERi0xLjM...<= here file is base64_encode()
    [file_size] =>  2204
    [file_type] =>  application/pdf
    [file_name] =>  2_file.pdf
)

Headers:

header("Content-length: ".$file['file_size']);
header("Content-type: ".$file['file_type']);
header("Content-Disposition: attachment; filename= ".$file['file_name']);
echo base64_decode($file['file']);


So, mime looks ok, but still... not working :-(




--
mob: + 46 70 044 9432
web: http://novakovicdusan.com

Please consider the environment before printing this email.


Are you sure that you need Content-Disposition? Try removing that. I
think that's used only in emails (Correct me if I'm wrong).

You're wrong. Content-Disposition tells the browser how to handle the
content - in this case, the browser will download the file instead of
displaying it.

Regards
Peter


I think you need to be careful about quoting the file name in the Content-Disposition header: something like

header('Content-Disposition: attachment; filename="'.$filename.'.xml"');

seems to be the right quoting - the filename needs to be in double-quotes

--
Peter Ford, Developer                 phone: 01580 893333 fax: 01580 893399
Justcroft International Ltd.                              www.justcroft.com
Justcroft House, High Street, Staplehurst, Kent   TN12 0AH   United Kingdom
Registered in England and Wales: 2297906
Registered office: Stag Gates House, 63/64 The Avenue, Southampton SO17 1XS

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux