PHP curl上传图片

function sendPost($url, $path)
{
    $curl = curl_init();
    if (class_exists('\CURLFile')) {
        //PHP版本 >= 5.5
        curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
        $suffixIndex = strripos($path, '.');
        if($suffixIndex === false){
            $suffix = 'jpg';
        } else {
            $suffix = substr($path, $suffixIndex+1);
        }
        $filename = time() . rand(1000, 9999);
        $data = array('file' => new \CURLFile(realpath($path),'image/' . $suffix, $filename .'.'.  $suffix));
    } else {
        if (defined('CURLOPT_SAFE_UPLOAD')) {
            curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
        }
        $data = array('file' => '@' . realpath($path));//<=5.5
    }
    curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);


    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERAGENT, "TEST");
    $result = curl_exec($curl);
    curl_close($curl);
    return $result;
}

$url = 'http://localhost:8080/upload';
$path = "D:/phpstudy/PHPTutorial/WWW/test/timg23232.png";

$res = sendPost($url, $path);
var_dump($res);

  

posted @ 2020-06-04 14:32  PHPer100  阅读(1253)  评论(0编辑  收藏  举报