php强制下载文件函数

yipeiwu_com6年前PHP代码库

本文实例为大家分享了php强制下载文件函数,供大家参考,具体内容如下

public function down()

{
  $id = $this->_get('id');
  $M = M("downloads");
  $data=$M->where("id=$id and status=1")->find();
  !$data && exit;
  $filename = iconv('UTF-8','GBK',$data['filename']);
  $savename = $data['savename']; 
  $myfile = $data[url] ? $data[url] : 'Uploads/file/'.$savename;
  if(file_exists($myfile)){
    $M->where("id=$id")->setInc('downloads');
    $file = @ fopen($myfile, "r");
    header("Content-type: application/octet-stream");
    header("Content-Disposition: attachment; filename=" .$filename );
    while (!feof($file)) {
    echo fread($file, 50000);
    }
    fclose($file);
    exit;
  }else{
    echo '文件不存在!';

  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

分享php分页的功能模块

分享php分页的功能模块

先贴张图看看效果 在贴一下代码吧 <?php $localhost = "localhost"; $username = "root"; $password =...

PHP自动选择 连接本地还是远程数据库

Mysql.class.php 文件见 https://www.jb51.net/article/25496.htm复制代码 代码如下: <?php // 包含Mysql操作类 i...

php中 ob_start等函数截取标准输出的方法

最近在用PHP在cli下开发一款软件,遇到了这样的问题。我想将PHP脚本中输出的东西收集在一起,于是使用了ob_start和ob_end_flush这两个函数,确实有达到收集输出内容的作...

深入解读php中关于抽象(abstract)类和抽象方法的问题分析

在面向对象(OOP)语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部代码访问的接口。而抽象方法就是为了方便继承而引入的,现在来看一下抽象类和抽象方法分别是如何定义...

关于svn冲突的解决方法

1.在冲突文件上右键----edit conflicts-----然后手动修改文件冲突的红色地方,其他地方可以不用管。 2.修改完后保存。将本地和svn里面的文件都保存好。 3.再在冲突...