wordpress CMS主题 微信
Home > wordpress CMS主题制作 > wordpress主题如何通过php实现文件下载功能?

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

高时银博客 wordpress CMS主题制作 点击: 1,684 次 0 1
  • 标签:
  • 文件下载功能对于一般的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
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    目前还没有评论。赶快来坐沙发吧。

    发表评论