|
Posted by Erwin Moller on 01/25/06 14:17
Barry wrote:
> Erwin Moller wrote:
>> Barry wrote:
>>
>>
>>>Hi all
>>>
>>>I have this script(download.php) which downloads binary data from a
>>>mysql database.
>>>
>>><?
>>>
>>>/* SNIP */
>>>
>>>$document=document::singleton();
>>>$doc=$document->get_document($id);
>>>
>>>if (is_object($doc)){
>>>die;
>>>}
>>
>>
>> So if $doc is an object you die?
>>
>> Is that what you want?
>> I would expect:
>>
>>
>> if (is_object($doc)){
>> echo "\doc is not an object!";
>> exit;
>> }
>>
>> Regards,
>> Erwin Moller
>>
>>
>
> Yes I want it to die.
> The function returns an error object if it fails.
> This means that an error has occured and then I just die.
>
> If the function returns an array, its found the data.
>
> This all works for files less than 64k.
> Its only with larger files that the download stops at 64k.
> This is weird bahavior, I think it might be some config on the server.
Hmm, ok.
Strange.
Are you sure your document-singleton is actually delivering the right stuff?
I mean: the problem could arise earlier than at the moment of delivery.
And 64K sounds very suspect.
I would check that part first, just spit out :
echo htmlentities($doc['content']);
Well, that is all I can think of.
Good luck.
Regards,
Erwin Moller
>
> Thanks
> Barry
>
>>>header("Content-type: $doc[type]");
>>>header("Content-length: $doc[size]");
>>>header("Content-Disposition: attachment; filename=$doc[name]");
>>>
>>>echo($doc['content']);
>>>
>>>exit;
>>>
>>>?>
>>>
>>>This is called from another page in the
>>><a href="download.php?id=4">CLick here to download</a>
>>>fashion.
>>>
>>>The problem I am experiencing is that the download stop on 64k and then
>>>the files are obviously corrupted.
>>>
>>>I have checked that I do have the correct size in the db and I am giving
>>>the correct size in the Content-length header.
>>>
>>>Thanks
>>>Barry
>>
>>
[Back to original message]
|