PHP 下载远程图片保存到本地


/**
 * 下载远程图片保存到本地
 * @access public
 * @return array
 * @params string $url 远程图片地址
 * @params string $save_dir 需要保存的地址
 * @params string $filename 保存文件名
 */
function downloadImage($url, $save_dir = './upload/headpic/',$filename='')
{
    if(trim($save_dir)=='')
        $save_dir='./';

    if(trim($filename)==''){//保存文件名
        $allowExt = array('.gif', '.jpg', '.jpeg', '.png', '.bmp');
        $ext=strrchr($url,'.');
        if(!in_array($ext,$allowExt)){
            return array('file_name'=>'','save_path'=>'','error'=>3);
        }
        $filename=time().$ext;
    }
    if(0!==strrpos($save_dir,'/'))
        $save_dir.='/';

    //创建保存目录
    if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true))
        return array('file_name'=>'','save_path'=>'','error'=>5);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
    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);
    $filename = pathinfo($url, PATHINFO_BASENAME);
    $resource = fopen($save_dir . $filename, 'a');
    fwrite($resource, $file);
    fclose($resource);
    unset($file,$url);
    return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
}

vue-fullcalendar前端日历插件的使用及样式修改

cURL error 60: SSL certificate problem: unable to get local issuer certificate

评 论
更换验证码