当前位置:唯爱资源网 > 网站源码 > 正文
唯爱网络

作者:唯爱网络

全网最全的网络资源免费分享网站

手机扫码查看

标签:

搜狗图床接口源码分享

摘要:将你自己的图片上传到搜狗服务器,并提取对应的直链,可以将图片插入到各种文章,帖子之中,自己拥有服务器主机什么,只需要你有图片就可以上传,并获取直链

之前杨小杰博客分享的新浪图床经本站二次开发集成到wordpress后发现新浪图床有一个通病,就是无论你上传的是什么格式的图片,到最后输出的都会是jpg格式,那么问题就来了,有一部分同学编辑的文章内要用到gif等其他格式的图片时,问题是不是就出现了,所以本站为追求完美,找到了一位大神写的一个搜狗图传的接口,理论是支持输出原件的,实际还没有测试,有兴趣的朋友可以拿去自己开发,本站也会在后期更新中增加此功能,下面是代码,对了如有开发好的请回到本贴留个言,算是对互联网络共存敬现一份微博之力吧

namespace app\home\controller;
use app\home\controller\Common;
class Upload extends Common{
    public function _empty(){
         phpinfo();
    }
    public function image(){
        $fileExt=['gif','jpeg','jpg','png'];
        $MaxfileSize=1024*1024*2;
        if(isset($_FILES["file"])){
            $extension=pathinfo($_FILES["file"]['name'])['extension'];
            if($_FILES['file']['size']==0){
                $this->error('未知系统错误');
                return ;
            }
            if(!in_array($extension,$fileExt)){
                $this->error('只支JPG/GIF/PNG/JPEG文件');
                return ;
            }
            if($_FILES['file']['size']>=$MaxfileSize){
                $this->error('图片大小不能超过2MB');
                return ;
            }
            //临时文件保存目录
            $ImageCachePath=RUNTIME_PATH.'image/';//缓存路径
            if(!is_dir($ImageCachePath)){//不存在,创建文件夹
                mkdir($this->path, 777, true);
            }
            
            //生成新文件名
            $newFileName=$ImageCachePath.md5(rand(10000,99999)).'.'.$extension;
            //把文件存入临时目录
            if(!move_uploaded_file($_FILES["file"]["tmp_name"],$newFileName)){
                unlink($newFileName);
                $this->error('上传失败!代码100');
                return ;
            }
            //接口地址
            $UploadUrl = 'http://pic.sogou.com/ris_upload?r='.rand(10000,99999);
            //取出临时目录上传的文件
            $curlPost = array('pic_path'=>new \CurlFile($newFileName));
            //模拟上传开始
            $ch = curl_init();  
            curl_setopt($ch, CURLOPT_URL, $UploadUrl);  
            // curl_setopt($ch, CURLOPT_HEADER, 1); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POST, 1); //POST提交  
            curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);  
            $data =curl_exec($ch);  
            curl_close($ch);
            //Urldecode解码字符串
            $NewData=urldecode($data);
            //匹配出结果
            preg_match('/query\=(.*?)\&oname/i',$NewData,$ImageUrl);
            if(!isset($ImageUrl[1])){
                unlink($newFileName);
                $this->error('上传失败!代码200');
                return ;
            }
            //返回Url,并且删除文件
            unlink($newFileName);
            $this->success('上传成功!',$ImageUrl[1]);
            return ;
        }
    }
}
未经允许不得转载:

作者:唯爱网络, 转载或复制请以 超链接形式 并注明出处 唯爱资源网
原文地址:《搜狗图床接口源码分享》 发布于2018-09-07

分享到:
赞(1) 打赏

评论 1

7 + 4 =
  1. #1
    qq_avatar

    好,水水水水水

    宝宝(李君豪)我爱你1个月前 (09-13)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.5主题

专业打造轻量级个人企业风格博客主题!
一套模板,四种风格,专注于前端开发,全站响应式布局自适应模板。
官方统一售价¥69

了解一下

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册