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);