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面向对象分析设计的61条军规小结

(1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议中的消息。 (4)实现所有类都理解的最基本公有接口[例如...

PHP中CURL的CURLOPT_POSTFIELDS参数使用细节

在通常情况下,我们使用 CURL 来提交 POST 数据的时候,我们已经习惯了这样的写法:复制代码 代码如下:curl_setopt( $ch, CURLOPT_POSTFIELDS,$...

PHP实现返回JSON和XML的类分享

代码很简洁,功能也很简单实用,这里就不多废话了,直接奉上代码: 复制代码 代码如下: <?php     class Reponse{ &nb...

Adnroid 微信内置浏览器清除缓存

      微信开发比较头疼的一个情况就是缓存难以清除,然而奇怪的是微信app在IOS中是可以刷新页面的,但是Android中却不知道基...

很让人受教的 提高php代码质量36计

1.不要使用相对路径 常常会看到: require_once('../../lib/some_class.php'); 该方法有很多缺点: 它首先查找指定的php包含路径, 然后查找当前...