• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress CMS主题制作 > wordpress主题如何通过php实现文件下载功能?

    wordpress主题如何通过php实现文件下载功能?

    作者: 分类:wordpress CMS主题制作 点击: 2,554 次
    wordpress CMS主题:ssmay主题

      文件下载功能对于一般的wordpress主题来说,没有必要,因为大多数wordpress程序做出的网站根本不需要这种功能,他们只是为了展示自己的信息而已。但是,有一些比较大点的资源类网站需要有这种功能。那么,怎样为wordpress网站主题添加这种下载功能呢?wordpress自带的函数中好像没有提供这种功能。这时,我们可以通过php来简单实现。

      下面就是一个简单的php实现的文件下载功能代码:

      $file_name = "a.avi";
      $file_size = filesize($file_name);

      $len = 1024;
      if($file_size>100*1024*1024){
      echo '<script>alert("你上传的文件超过2M");</script>';
      exit;
      }
      $fp = fopen($file_name,"r");

      header("content-type:application/octet-stream");
      header("accept-ranges:bytes");
      header("accept-length:$file_size");
      header("content-disposition:attachment;filename=".$file_name);

      while(!feof($fp)){
      echo fread($fp,$len);
      }
      fclose($fp);

      简单解说一下上面的代码:

      $file_name是文件名;
      $file_size是文件大小;
      $len每次循环读取多少个字节;
      if语句判断文件的大小有没有超过2M,如果超过,就提示并停止下面的代码操作;
      $fp 打开文件
      4个header,下载弹窗提示;这是向http协议提交信息头,告诉浏览器这是一个文件流、文件的大小以及文件名。
      while 语句是循环输出$len长度的字节,直到读完
      fclose 是关闭文件。

      上面的文件名你可以自行更改,可以是任何文件类型:视频、图片、文本、word…… ,文件的路径也可以根据据自己的需要添加。下载文件的大小,可以根据自己的需要来设置。

      为了方便使用,我们也可以把上面的代码弄成一个函数,代码如下:

      function file_down($filename){
      $file_name = $filename;
      $file_size = filesize($file_name);

      $len = 1024;
      if($file_size>100*1024*1024){
      echo '<script>alert("你上传的文件超过2M");</script>';
      exit;
      }
      $fp = fopen($file_name,"r");

      header("content-type:application/octet-stream");
      header("accept-ranges:bytes");
      header("accept-length:$file_size");
      header("content-disposition:attachment;filename=".$file_name);
      while(!feof($fp)){
      echo fread($fp,$len);
      }

      fclose($fp);
      }

      然后,我们在需要使用的地方使用这个函数,如果你的下载文件名为 a.jpg,代码就如下:

      file_down("a.jpg");

      这样,我们的wordpress主题就实现了文件的下载功能。当然,这只是一个简单的下载文件范例,如果你想为自己的主题添加这个下载功能,可以根据上面的代码来简单实现,也可以更深入地扩展一下。

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201511144876.html
    本文时间:2015-11-14 13:23:27
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.