Hello again,
I just realized that the reply I thought i left here never made it to the
list.

Quite some time ago, I realized my problem was whitespace following a
closing tag in my Controller file.

Stupid mistake, but one that had me digging for solutions for quite a few
days.  Posting this here in the hopes that I can save someone else the same
futile search for answers.

-Mike

On Sat, Oct 25, 2008 at 4:18 PM, Behzad <[EMAIL PROTECTED]> wrote:

> You may want to use readfile() instead of fpassthru(), which saves you the
> fopen() call.
>
>
> On Sat, Oct 25, 2008 at 2:57 AM, Kevin McArthur <[EMAIL PROTECTED]>wrote:
>
>>  You'll see a significant performance improvement if you don't load the
>> files contents into PHP. The best way to do this is with an apache mod
>> called X-SendFile. (http://tn123.ath.cx/mod_xsendfile/) but if you cant
>> install the module, then you'll want to use fpassthru(). Fopen/fread and
>> file_get_contents approaches have significant overhead and really shouldn't
>> be used.
>>
>>
>>
>> Chris Martin wrote:
>>
>> The following self-contained example works fine for me in my environment. Try
>> it on yours, it may help to narrow the problem down further:
>>
>> public function imgtestAction()
>> {
>>     $this->_helper->layout->disableLayout();
>>
>>     $logo =
>> file_get_contents("http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png";
>>  <http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png>);
>>     $type = 'image/png';
>>
>>     $response = $this->getFrontController()->getResponse();
>>
>>     $response->setHeader('Content-Type', $type, true);
>>     $response->setHeader('Content-Length', count($logo), true);
>>     $response->setHeader('Content-Transfer-Encoding', 'binary', true);
>>     $response->setHeader('Cache-Control', 'max-age=3600, must-revalidate',
>> true);
>>     $response->setBody($logo);
>>
>>     $response->sendResponse();
>>     exit;
>> }
>>
>>
>>
>> Michael Crumm wrote:
>>
>>
>>  Giuliano,
>>
>> Thanks for the thought!  Unfortunately, I tried that as well and still
>> can't
>> seem to get an image out.
>> Here's my controller action:
>>
>>     public function viewAction()
>>     {
>>         $this->_helper->layout->disableLayout();
>>         $logo = $this->_logo;
>>         $modifiedDateGM = gmdate('D, d M Y H:i:s',
>> strtotime($logo['modified'])) . ' GMT';
>>
>>         $response = $this->getFrontController()->getResponse();
>>         $response->setHeader('Last-Modified', $modifiedDateGM, true);
>>         $response->setHeader('Content-Type', $logo['type'], true);
>>         $response->setHeader('Content-Length', $logo['size'], true);
>>         $response->setHeader('Content-Transfer-Encoding', 'binary', true);
>>         $response->setHeader('Cache-Control', 'max-age=3600,
>> must-revalidate', true);
>>         $response->setBody($logo['data']);
>>         $response->sendResponse();
>>         exit;
>>     }
>>
>> Seems like someone over in the zf-db list was having a similar issue - I'm
>> having a similar discussion over there.
>>
>> Any more thoughts?
>>
>> -Mike
>>
>>
>>
>>
>>
>> --
>>
>> Kevin McArthur
>>
>> StormTide Digital Studios Inc.
>> Author of the recently published book, "Pro PHP"http://www.stormtide.ca
>>
>>
>
>
> --
> Kind regards,
> -behzad
>

Reply via email to