IE header () sorunu

0 Cevap php

Ben belgeleri, resim vb çıkış için bir işlevi vardır:

public function direct($theMimeType, $thePath)
{
    header('Content-type: '.$theMimeType);
    ob_clean(); // clean output buffer
    flush(); // flush output buffer 
    readfile($thePath);
    exit;
}

Bu büyük Firefox'ta çalışıyor. Dosyası PDF, DOCX ya da başka bir dosya olup olmadığını açılır. Ancak, IE donuyor ve hiçbir şey gösterir.

Peki bu neden olabilir?

EDIT:

Ben birkaç diğer başlıklar ekledik:

public function direct($theMimeType, $thePath)
{
    $aSize = filesize($thePath);
    $aBegin = 0;
    $aEnd = $aSize;
    $aFilename = end(explode('/', $thePath));   
    $aTime = date('r', filemtime($thePath));
    $aContentDisposition = ('application/pdf' === $theMimeType) ? 'inline' : 'atachment';
    header('HTTP/1.0 200 OK'); 
    header("Content-Type: $theMimeType");
    header('Cache-Control: public, must-revalidate, max-age=0');
    header('Pragma: no-cache'); 
    header('Accept-Ranges: bytes');
    header('Content-Length:'.($aEnd-$aBegin));
    header("Content-Range: bytes $aBegin-$aEnd/$aSize");
    header("Content-Disposition: $aContentDisposition; filename=$aFilename");
    header("Content-Transfer-Encoding: binary\n");
    header("Last-Modified: $aTime");
    header('Connection: close');
    ob_clean(); // clean output buffer
    flush(); // flush output buffer 
    readfile($thePath);
    exit;
}

Eh, şimdi IE'de çalışır ama yine de Firefox daha yavaş dosyayı açar. IE tarayıcı dosyayı açmadan önce birkaç saniye kadar dondurmak gibi görünüyor.

0 Cevap