php实现当前页面点击下载文件的实例 - Alex_guoyihao

时间:2024-03-09 07:49:00

php实现当前页面点击下载文件的实例

php控制器中代码

public function downFile($path \'\'){

    if(!$path) header("Location: /");
    download($path);
  }
download文件下载函数代码
function download($file_url,$new_name=\'\'){
    if(!isset($file_url)||trim($file_url)==\'\'){
      echo \'500\';
    }
    if(!file_exists($file_url)){ //检查文件是否存在
      echo \'404\';
    }
    $file_name=basename($file_url);
    $file_type=explode(\'.\',$file_url);
    $file_type=$file_type[count($file_type)-1];
    $file_name=trim($new_name==\'\')?$file_name:urlencode($new_name);
    $file_type=fopen($file_url,\'r\'); //打开文件
    //输入文件标签
    header("Content-type: application/octet-stream");
    header("Accept-Ranges: bytes");
    header("Accept-Length: ".filesize($file_url));
    header("Content-Disposition: attachment; filename=".$file_name);
    //输出文件内容
    echo fread($file_type,filesize($file_url));
    fclose($file_type);
}
html代码
<iframe id="iframe" src="" style="display: none;"></iframe>
$(function(){
      $(\'.downLoad\').click(function(){
        var path = $(this).attr(\'path\');
        $(\'#iframe\').attr(\'src\',"php文件路径?path="+path);
      })
    })