Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用IE7 IE8通过SSL从PHP web应用程序间歇性下载错误_Php_Ssl_Download_Internet Explorer - Fatal编程技术网

使用IE7 IE8通过SSL从PHP web应用程序间歇性下载错误

使用IE7 IE8通过SSL从PHP web应用程序间歇性下载错误,php,ssl,download,internet-explorer,Php,Ssl,Download,Internet Explorer,这些是大型(20-60mb)quickbooks文件。下载它们的IE用户似乎是随机获得“服务器返回无效或无法识别的响应”,下载失败 在其他浏览器中工作100%的时间 这是通过SSL实现的。这些下载是被迫的,我已经尝试了我见过的每一种不同的头文件。目前: @ob_end_clean(); if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression', 'Off'); header('Content

这些是大型(20-60mb)quickbooks文件。下载它们的IE用户似乎是随机获得“服务器返回无效或无法识别的响应”,下载失败

在其他浏览器中工作100%的时间

这是通过SSL实现的。这些下载是被迫的,我已经尝试了我见过的每一种不同的头文件。目前:

@ob_end_clean();
    if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression', 'Off');

    header('Content-Type: application/force-download');
    header('Content-Disposition: attachment; filename="'.$file->original_name.'"');
    header("Content-Transfer-Encoding: binary");
    header('Accept-Ranges: bytes');


    header("Cache-Control: public, must-revalidate");
    header("Pragma: hack");
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

    $size = filesize($_SERVER['DOCUMENT_ROOT'].'/uploads/'.$file->name);

    header("Content-Length: ".$size);

    $new_length = $size;
    /* output the file itself */
    $chunksize = 1*(1024*1024); //you may want to change this
    $bytes_send = 0;
    if ($file_h = fopen($_SERVER['DOCUMENT_ROOT'].'/uploads/'.$file->name, 'rb'))
    {

        while
            (!feof($file_h) && 
             (!connection_aborted()) && 
             ($bytes_send<$new_length) )
        {
            set_time_limit(5);
            $buffer = fread($file_h, $chunksize);
            echo($buffer); 
            flush();
            $bytes_send += strlen($buffer);
        }
    fclose($file_h);
    }

    die();
@ob_end_clean();
if(ini_get('zlib.output_compression'))ini_set('zlib.output_compression','Off');
标题(“内容类型:应用程序/强制下载”);
标题('Content-Disposition:attachment;filename=“”。$file->original_name.”);
标题(“内容传输编码:二进制”);
标题('Accept-Ranges:bytes');
标头(“缓存控制:公共,必须重新验证”);
标题(“Pragma:hack”);
标题(“到期日期:1997年7月26日星期一05:00:00 GMT”);
$size=filesize($\u服务器['DOCUMENT\u ROOT']./uploads/'.$file->name);
标题(“内容长度:.$size”);
$new_length=$size;
/*输出文件本身*/
$chunksize=1*(1024*1024)//你可能想改变这个
$bytes\u send=0;
如果($file\u h=fopen($\u SERVER['DOCUMENT\u ROOT']./uploads/'.$file->name,'rb'))
{
虽然
(!feof($file_h)和
(!connection_aborted())&&

($bytes_send如我所见,问题来自Pragma header字段,当它设置为“无缓存”时,这似乎不是您的问题。您是否使用任何工具[如Firefox Live Headers]检查Pragma字段的值?

如我所见,问题来自Pragma header字段,当它设置为“无缓存”时,这似乎不是您的问题。您是否使用任何工具[如Firefox Live Headers]检查Pragma字段的值?

您最终解决了此问题吗?我们面临类似的问题。您最终解决了此问题吗?我们面临类似的问题。