资讯专栏INFORMATION COLUMN

PHP下载

cnsworder / 2415人阅读

摘要:下载文件必须先要将文件打开,写入内存判断文件是否存在文件不存在判断文件大小返回的文件按照字节格式返回返回文件大小弹出客户端对话框,对应的文件名防止服务器瞬时压力增大,分段读取关闭文件

    set_time_limit(0);
    $code = intval(trim($_GET["code"]));
    $file_name = M("Material")->where("id = ".$code)->getField("path");
    $file_name = "./Uploads".$file_name;
    $fp=fopen($file_name,"r+");//下载文件必须先要将文件打开,写入内存
    if(!file_exists($file_name)){//判断文件是否存在
        echo "文件不存在";
        exit();
    }
    $file_size=filesize($file_name);//判断文件大小
    //返回的文件
    Header("Content-type: application/octet-stream");
    //按照字节格式返回
    Header("Accept-Ranges: bytes");
    //返回文件大小
    Header("Accept-Length: ".$file_size);
    //弹出客户端对话框,对应的文件名
    $file_name = $pro_id["name"].".".get_extension($file_name);
    Header("Content-Disposition: attachment; filename=".$file_name);
    //防止服务器瞬时压力增大,分段读取
    $buffer=3072;
    while(!feof($fp)){
        $file_data=fread($fp,$buffer);
       echo $file_data;
    }
    //$file_data=fread($fp);
    //echo $file_data;
    //关闭文件
    fclose($fp);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22688.html

相关文章

  • MAMP下安装PHP Redis扩展及Redis下载使用

    摘要:最近手里有个项目需要用用缓存,权衡之下选择,没想到这里面水还挺深。说明是独立于语言的,如果用操作的话,自然要安装扩展,但是在环境下和自己配置的环境是不一样的,里面源码是残缺的,具体原因我也没查,所以需要自己下载源码编译。 最近手里有个项目需要用用缓存,权衡之下选择redis,没想到这里面水还挺深。 说明 Redis是独立于语言的,如果用PHP操作的话,自然要安装PHP Redis扩展,...

    GraphQuery 评论0 收藏0
  • windows下PHP环境的搭建

    摘要:下环境的搭建初学,环境配置各种蛋疼。安装环境点开上面的下载链接,进入下载页面,建议下载线程安全版本的环境。在路径下新建一个文件,内容添加,然后在浏览器输入,如果出现如图页面,则表示环境安装成功。至此,本地环境的搭建就完成了。 windows下PHP环境的搭建 初学PHP,环境配置各种蛋疼。首先,我要表示对度娘搜索结果的失望,以及,墙实在是高,有三层楼那么高。如果可能的话尽可能上goog...

    HollisChuang 评论0 收藏0
  • PHP 包与扩展的管理工具 Pear、Composer 与 Pecl

    摘要:的包管理器是,用来浏览并搜索查看最新发行版下载。的包管理器是下一代的,使用编写,以格式发布。二发布时间轴三安装与使用安装主要是安装和这两个包管理器,然后通过包管理器安装其他。 PHP社区提供了几个管理扩展和包的工具包括Pecl、Pear、Pear2和Composer。在不了解的情况下去使用这些工具必然会出现困惑,所以下面就简单介绍下这几个管理工具。 一、简介 下面简要介绍 Pear、P...

    Batkid 评论0 收藏0
  • 源码安装 PHP 7.3

    摘要:本文以当前最新版本演示整个源码安装的流程。下载源码包访问官网的源码包下载地址。下载源码有两种方式服务器端使用命令直接下载。 本文以当前最新版本 PHP 7.3.1 演示整个源码安装的流程。 下载 PHP 源码包 访问 PHP 官网的源码包下载地址 http://php.net/downloads.php。 showImg(https://segmentfault.com/img/rem...

    freecode 评论0 收藏0
  • PHP 远程文件下载的进度条实现

    摘要:原文地址实现远程下载文件到服务端并不是什么新鲜玩意,用等都能够轻易实现。原理也许你在搜索下载进度条的时候会看到有些文章使用的输出控制函数之类的控制缓冲区来实现进度条。 原文地址:https://prinzeugen.net/implem... PHP 实现远程下载文件到服务端并不是什么新鲜玩意,用 cURL、file_get_contents、fopen 等都能够轻易实现。 但是这几种...

    YJNldm 评论0 收藏0

发表评论

0条评论

cnsworder

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<