Ben tarayıcıya bir Kohana modeli içinde bir dosya göndermek için çalışıyorum, ama en kısa sürede bir içerik-uzunluk başlığı eklemek gibi, dosya hemen indirmeye başlayın değildir.
Now the problem seems to be that Kohana is already outputting buffers. An ob_clean at the begin of the script doesn't help this though. Also adding ob_get_length() to the Content-Length isn't helping since this just returns 0. The getFileSize() function returns the right number: if I run the script outside of Kohana, it works.
Ben exit () hala tüm yıkıcı çağırır ve bir şey sonradan Kohana tarafından çıkarılan olduğunu olabilir, okumak ama ne tam olarak bulamıyorum.
Burada birisi bana yardımcı olabilir umuyoruz ...
Bu ben kullanıyorum kod parçasıdır:
public function download() {
header("Expires: ".gmdate("D, d M Y H:i:s",time()+(3600*7))." GMT\n");
header("Content-Type: ".$this->getFileType()."\n");
header("Content-Transfer-Encoding: binary\n");
header("Last-Modified: " . gmdate("D, d M Y H:i:s",$this->getCreateTime()) . " GMT\n");
header("Content-Length: ".($this->getFileSize()+ob_get_length()).";\n");
header('Content-Disposition: attachment; filename="'.basename($this->getFileName())."\"\n\n");
ob_end_flush();
readfile($this->getFilePath());
exit();
}