PHP下载脚本,自动下载而不是提示它应该

时间:2014-09-25 21:06:47

标签: php

我有一个用PHP开始下载的脚本。当用户单击开始下载的链接时,它应该提示用户是否要保存文件。它在firefox中工作正常,但在Safari和Chrome中,下载会自动开始,而不会提示用户。

这是我的代码

$extension = fileexten($filename);
    if(($filename!= false)&&($fakename!=false&& @fopen($filename,'r')==true)){
    $mime = contenttype($extension);
    set_time_limit(0);
    header('Pragma: public');
    header('Expires: 0'); 
    header("Content-Type:".$mime);
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Cache-Control: private', false);        
    header('Content-Disposition: attachment;filename='.$fakename.'.'.$extension);
    header("Content-Transfer-Encoding: binary");

      if (ob_get_length() > 0) {
        ob_end_clean();
        }
    flush();
    readfile($filename);
    }
    else{
    $error = "<h3>We could not find this file</h3>";} // If the filename or fake filename could not be retrieved. 

}

无论如何,我可以确保浏览器提示他们保存或下载文件,而不是在其他浏览器中自动启动?

1 个答案:

答案 0 :(得分:2)

它与脚本无关,而与浏览器设置无关。

对于谷歌浏览器,您可以更改它:

enter image description here