搭建超好用的阿里图床接口

写在前面

很多人因为服务器空间少、带宽小等原因会选择把图片放在别的网站上然后插入自己的网站。这在节省带宽的同时也带来了一些问题,像是那些网站本身不稳定的话就会造成图片无法加载之类的,,,,

呀呀呀呀,上面那段话已经是第三遍说了,这次给大家带来点不一样的,没有防盗链还稳定的阿里图床!!!!!网上的相关源码很少,而且大部分都不能用,稀缺资源警告

这次的代码是在网上的各种能用不能用的源码中拼凑修改而来的,

再说一遍 阿里图床没有防盗链!!!

代码

<?php
header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With');
$file = $_FILES['file'];
if (is_uploaded_file($file['tmp_name'])){
    $arr = pathinfo($file['name']);
    $ext_suffix = $arr['extension'];
    $allow_suffix = array("gif", "jpeg", "jpg", "png", "GIF", "JPEG", "JPG", "PNG");
    if(!in_array($ext_suffix, $allow_suffix)){
        imgurl(['code'=> -1,'imgurl'=> '上传格式不支持']);
    }
    $new_filename = time().rand(100,1000).'.'.$ext_suffix;
    if (move_uploaded_file($file['tmp_name'], $new_filename)){
        $data = upload('https://kfupload.alibaba.com/mupload',$new_filename);
        $pattern = '/"url":"(.*?)"/';
        preg_match($pattern, $data, $match);
        @unlink($new_filename);
        if($match && $match[1]!=''){
            imgurl(['code'=> 1,'imgurl'=> $match[1]]);
        }else{
            imgurl(['code'=> -1,'msg'=> '上传失败']);
        }
    }else{
        imgurl(['code'=> -1,'msg'=> '上传数据错误']);
    }

}else{
    imgurl(['code'=> -1,'msg'=> '上传数据错误']);
}

function upload($url,$file) {
    return get_url($url,[
        'scene' => 'aeMessageCenterV2ImageRule',
        'name' =>$file,
        'file' => new \CURLFile(realpath($file))
    ]);
}

function get_url($url,$post){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    if($post){
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
    }
    if(curl_exec($ch) === false){
      echo 'Curl error: ' . curl_error($ch);
    }
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

function imgurl($data){
    exit(json_encode($data));
}

写在后面

阿里图床的缺点

上传图片最大为4M,,,其实我觉得够用了

阿里图床的优点

除了上面的缺点都是优点,最主要的是没有防盗链!!!!!

使用问题

关于如何使用我将会在以后的文章中更新
会包括如何调用接口,如何解决防盗链等

即将更新一个图床上传页面源码,,,

原创文章,作者:kai233,如若转载,请注明出处:https://www.sorkai.com/archives/79

(1)
上一篇 2020年5月7日 下午3:41
下一篇 2020年5月17日 上午9:14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注