Waarom werkt het wel in E9 en niet ervoor?

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
Ik heb een download method waarmee ik een file wil/kan downloaden.
In mozilla werkt het, safari ben ik niet bang voor. In E9 werkte het ook.
Maar in E8 en eerder werkt het helemaal niet. En ik heb geen idee waarom, hoezo en hoe het werkend te krijgen. De browser crashed(maar dat is in IEtester, zou ook daar door kunnen komen)

Ik heb echo 1; exit(); binnen de if statements gezet om te zien of de file gevonden wordt enzo.

mijn method:
PHP:
    public function download() {
        $array = Router::getArg();
        $file_server = $array[0];
        $file_type = $array[1];
        if (strlen($file_server) == 32) {

            $result = $this->_DBO->retrieve('files', array('file_info', 'file_server', 'user_id', 'file_type', 'file_info'), array('file_server' => $file_server), 1);

            if ($result) {
                $info = unserialize($result->file_info);
                $header_type = array(
                    'zip' => 'application/octet-stream'
                    , 'rar' => 'application/octet-stream'
                    , 'txt' => 'text/plain'
                    , 'php' => 'application/force-download'
                    , 'css' => 'application/force-download'
                    , 'html' => 'application/force-download'
                    , 'js' => 'application/force-download'
                    , 'jpg' => 'application/force-download'
                    , 'png' => 'image/png'
                    , 'bmp' => 'application/force-download'
                    , 'gif' => 'image/gif'
                );

                if (is_readable(RESOURCE_PATH . 'profile\\' . $result->user_id . '\\' . $file_type . '\\' . $result->file_server . '.save')) {
                    
                    // Dit geeft aan dat het gedownload moet worden
                    // echo 1; exit(); werkt, stopt script en 1 op scherm
                    
                    header('Content-Disposition: attachment; filename="' . $info['name'] . '.' . $result->file_type . '" ');
                    // De output is een plaatje van het type <x>, in dit geval jpeg
                    header('Content-Type: ' . $header_type[$result->file_type]);
                    ob_clean();
                    flush();
                    // Link naar het plaatje dat geupload is
                    readfile(RESOURCE_PATH . 'profile\\' . $result->user_id . '\\' . $file_type . '\\' . $result->file_server . '.save');
                    exit();
                } else {
                    echo 'Did NOT find file on the server <b>..\default\profile\\' . $result->user_id . '\\' . $file_type . '\\' . $result->file_server . '.save</b>';
                }
            } else {
                echo 'Did NOT find match in the database';
            }
        } else {
            echo 'File id is not valide';
        }
    }// End Method
 
Laatst bewerkt:
okey, heb het getest met IE 8 en dat werkt het gewoon.
Ik denk dat het gewoon door IE-tester komt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan