zoukankan      html  css  js  c++  java
  • php原生之实现图片,文件的下载

    代码部分还可以进行优化,如有不对的地方,欢迎留言,感激不尽。

    判断文件路径是否存在,存在那么就继续进行。

        /**
         * @desc    实现文件下载
         * @date    2017/7/11 13:15
         * @param	[string $url]
         * @author	1245049149@qq.com
         * @return  [resource]
         */
        public function downPhoto($url){
            if($this->checkLoad($url)){
                Header("Content-type: application/octet-stream");
                Header("Content-Transfer-Encoding: binary");
                Header("Accept-Ranges: bytes");
                //说明:这里的filename生成下载后的文件名,可以进行优化,生成你自己想要的名字,后缀等等
                Header("Content-Disposition: attachment; filename=".$url);
                return readfile($url);
            }else{
                return false;
            }
        }
    

      

        /**
         * @desc    判断文件路径是否存在
         * @date    2017/7/11 13:17
         * @param   [string $url]
         * @author	1245049149@qq.com
         * @return  [bool]
         */
        public function checkLoad($url){
            $ch = curl_init();
            $timeout = 10;
            curl_setopt ($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, 1);
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $contents = curl_exec($ch);
            if (strpos($contents,'200')){
                return true;
            }else{
                return false;
            }
        }
    

      搞定!

  • 相关阅读:
    RedHat中代理设置
    CentOS7主机名修改
    ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台
    Zookeeper+Kafka集群部署
    Centos7 中lvs DR配置
    linux抓包命令之tcpdump
    python调用ansible接口API执行命令
    LVS 实现负载均衡原理及安装配置详解
    Ansible 之Playbook
    Linux系统date时间设定
  • 原文地址:https://www.cnblogs.com/qwgshare/p/7193887.html
Copyright © 2011-2022 走看看