Php ile büyük dosya indirirken Zorla

0 Cevap php

Sitemde birçok kullanıcı büyük bir dosyayı (80 MB) indirirken sorun bildirdin. Ben başlıklarını kullanarak zorla indir kullanıyorum. Ben gerekirse ek php ayarlarını sağlayabilir. Ben CakePHP framework kullanıyorum, ama bu kod tüm normal php. Ben medya tapınak, CentOS Linux özel bir sanal sunucu üzerinde apache ile php 5.2 kullanıyorum. Aşağıdaki kod ile herhangi bir sorun görüyor musunuz:

        set_time_limit(1500);
        header("Content-Type: application/octet-stream");
        header("Content-Disposition: attachment; filename=\"" . basename($file_path) . "\"");
        header("Content-Length: ".$content_length);
        header("Content-Transfer-Encoding: binary");
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Cache-Control: private', false);
        header('Pragma: public');
        header('Expires: 0');

        //Change this part
        $handle = fopen($file_path, 'rb');
        while (!feof($handle))
        {
            echo fread($handle, 4096);
            ob_flush();
            flush();
        }
        fclose($handle);
        exit;

Temel olarak, rapor ediliyor sorun yükleme başlar ve sonra ortada durur olduğunu. Ben o zaman sınırı ile ilgili bir sorun olduğunu düşünerek, bu yüzden ben set_time_limit kodunu ekleyin. Ben daha önce php readfile işlevini kullanarak, ama o da sorunsuz işe yaramadı.

0 Cevap