Hi, I've a problem of < headers already sent > when I send a file to the browser.
My config is : - CentOs 5.2 with php 5.2.9 - symfony version 1.2.4 (stable) The code to show the problem, I've made this method : [code] public function executeFile(sfWebRequest $request) { $this->line = $request->getParameter('line', 1024); $this->path = sfConfig::get('sf_web_dir').'/tmp/'; $this->filename = 'file.txt'; // generate a text file of (n line of 1KB) $my1kb = str_repeat('0123456789abcdef', 64); $handle = fopen($this->path.$this->filename, "wb"); for ($i=0; $i < $this->line; $i++) { fwrite($handle, $my1kb); } fclose($handle); // send the file to the browser $response = $this->getResponse(); $response->clearHttpHeaders(); $response->setContentType('text/plain; charset=UTF-8'); $response->setHttpHeader('Content-Disposition', 'attachment; filename='.$this->filename); $response->setHttpHeader('Content-Length', filesize($this->path.$this->filename)); $response->setContent(file_get_contents($this->path.$this->filename, false)); $response->sendHttpHeaders(); $response->sendContent(); return sfView::NONE; } [/code] The result (file of 1MB) : [result] 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789ab cdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234567 89abcdef0123456789abcdef0123456789abcdef. . . . . . 3456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef<br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at ./lib/vendor/symfony/lib/response/sfResponse.class.php:105) in <b>./lib/vendor/symfony/lib/response/sfWebResponse.class.php</b> on line <b>335</b><br /> <br /> . [/result] If I generate a file less then 5KB, it works fine ! I test the same code on WinXP (XAMPP with php 5.2.4), it works fine ! Where is the problem ? I've clean the cache I've made tests on prod en dev environnement There is no ?> at the end of the class I've upgrade php from 5.2.8 to 5.2.9 and it's the same result. Is PHP ? is symfony ? or else ? Olivier --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---