PHP实现上传图片到 zimg 服务器

Posted PHP编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP实现上传图片到 zimg 服务器相关的知识,希望对你有一定的参考价值。

最近我们项目需要一台图片服务器存储用户上传的图片,我们使用 zimg 处理和存储图片,下面简单介绍一下如何使用 php 上传图片到 zimg,并获取相应图片的返回信息


php代码:

 

$zimg_domain = C("ZIMG_DOMAIN") ; //图片服务器域名


    $ext = substr($imgurl, strrpos($imgurl, ".")+1);

    $realpath = realpath(mb_convert_encoding($imgurl, 'GBK', 'utf8'));


    // 上传图片到zimg图片存储服务

    $ch = curl_init();


    // 关键在这里!

    $post_data = file_get_contents($realpath); // raw_post方式

    // 如果是是一个数组,则content_type自动为multipart/form-data

    //        $post_data = array(

    //            'file' => "@$realpath"

    //        );

    $headers = array();

    $headers[] = 'Content-Type:'.$ext; // 还有这里!


    curl_setopt($ch, CURLOPT_URL, $zimg_upload_url);

    curl_setopt($ch, CURLOPT_HEADER, false);

    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    //启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。

    curl_setopt($ch, CURLOPT_POST, true);

    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);


    $info = curl_exec($ch);

    curl_close($ch);


    $json = json_decode($info, true);

    $signature = $json['info']['md5'];


    $imgurl = $zimg_domain . $signature;

    return array('imgurl'=>$imgurl,'imgcode'=>$signature);


以上是把图片上传到图片服务器的源码,有需要的朋友可以看看.

以上是关于PHP实现上传图片到 zimg 服务器的主要内容,如果未能解决你的问题,请参考以下文章

怎样用php实现上传图片到数据库

php制作后台,上传图片,点击上传,弹出一个图片库,从图片库里面选择图片,如何实现?

ueditor1.4.3 php如何上传图片到图片服务器(七牛)

PHP实现上传图片到数据库并显示输出的方法

文件上传图片

php 上传图片:php上传图片代码(同时图片保存到数据)