php 上传URL链接文件

 /**
     * Notes: 上传图片并保存
     * @param $files : 图片资源或url
     * @param $key : 接收图片内容时的键(form表单里input的name)
     * @param $Folder : 所存文件夹的名称
     * @param $name : 图片名称的开头
     * @param $type : path  url
     * @return array|string
     */
    functionupload($files,$key,$Folder,$name,$type,$path){
        switch ($type){
            case 'path':
                //  文件路径
                $file_path = $_SERVER['DOCUMENT_ROOT'] . '/'.$path.'/api/public' . '/' . $Folder ;
                $data = array();
                foreach ($files[$key] as $k => $file){
                    //  文件名
                    $file_name = $name.'_'.rand(1,999).'-'.date('YmdHis',time());
                    $info = $file->move($file_path,$file_name);
                    if($info){
                        //  获取图片的存放相对路径
                        $data[$k]['file_path'] = '/'.$path.'/api/public' . '/' . $Folder . '/'  .$file_name;
                    }else{
                        echo $file->getError();
                    }
                }
                break;
            //  根据url生成本地图片
            case 'url':
                $file_path = $_SERVER['DOCUMENT_ROOT'] . '/'.$path.'/api/public' . '/' . $Folder . '/' ;
                foreach ($files as $kk => $val){
                    $file_name = $name;
                    $res = file_put_contents($file_path.$file_name.'.png', file_get_contents($val));
                    if($res>0){
                        //  获取图片的存放相对路径
                        $data[]['file_path'] = '/'.$path.'/api/public' . '/' . $Folder .  '/' .$file_name.'.png';
                    }
                }
                break;
        }
        //  数据返回
        return $data;
    }

你可能感兴趣的:(php)