美文网首页
php tp5 从URL下载文件到本地指定路径

php tp5 从URL下载文件到本地指定路径

作者: 进击的奥莉 | 来源:发表于2020-05-25 16:43 被阅读0次

    最近在做一个下载从URL地址下载pdf文件,并保存到本地服务器的操作

    下面代码不管下载什么都可以套用.

    在common/controller/Base.php中添加以下代码(写在公共调用区)

    /**

    * 下载pdf文件到服务器

    *@param url 要下载的url地址 

    *@param path 保存的路径

    @param bh 唯一文件名

    */

    public function download_file($url, $path='uploads/baogao',$bh)

    {

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

        $file = curl_exec($ch);

        curl_close($ch);

        $this->save_file( $file, $path, $bh);

    }

    /**

    *保存文件

    /*

    private function save_file($file, $path, $bh)

    {

        //判断文件夹是否存在,不存在则创建文件夹

        if(!is_dir($path)){

            mkdir($path,0777,true);

        }

        $resource = fopen($path .'/'.$bh .'.pdf', 'a');//以写的形式打开文件

        fwrite($resource, $file);//将资源写入文件

        fclose($resource);

    }

    在index/controller/index.php中写入以下代码(在你想调用的地方调用)

    use app\common\controller\Base;

    class Index extends Base {

        public function get_file()

        {

            $url = "http://****:8889/report.aspx";//自己获取

            $path = $this->params['path'];

            $bh = $this->params['bh'];

            $this->download_file($url, $path, $bh);

            $list['file'] = www.baidu.com .'/'. $path .'/'.$bh .'.pdf';//www.baidu.com换成自己公司的网址

            return $list;

        }

    }

    很简单吧,希望对你有帮助.

    相关文章

      网友评论

          本文标题:php tp5 从URL下载文件到本地指定路径

          本文链接:https://www.haomeiwen.com/subject/svbyahtx.html