new \CURLFile($filePath)); $curl = curl_init(); curl_setopt($curl , CURLOPT_URL , $url); curl_setopt($curl , CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($curl , CURLOPT_POST, 1); curl_setopt($curl , CURLOPT_POSTFIELDS, $file_data); $output = curl_exec($curl); $responseData = json_decode($output, true); if ($output === FALSE || !isset($responseData['errcode'])){ Log::error('上传图片HTTP请求失败', [ 'error' => curl_error($curl), 'url' => $url, 'path' => $filePath, 'retry' => $retry ], 'HttpUploadError'); if($retry<=5) { // 发起重试 sleep(1); $retry++; return self::httpUpload($url, $filePath, $retry); } else { // 报警 EmailQueue::rPush('图片全路径上传失败', curl_error($curl), ['xiaohua.hou@kuxuan-inc.com'], '图片全路径上传失败'); } } curl_close($curl); return $output; } }