0) { switch ($_FILES ['Filedata'] ['error']) { case 1 : $error_log = 'The file is bigger than this PHP installation allows'; break; case 2 : $error_log = 'The file is bigger than this form allows'; break; case 3 : $error_log = 'Only part of the file was uploaded'; break; case 4 : $error_log = 'No file was uploaded'; break; default : break; } die ( 'upload error:' . $error_log );} else { $img_data = $_FILES['Filedata']['tmp_name']; $size = getimagesize($img_data); $file_type = $size['mime']; if (!in_array($file_type, array('image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/gif'))) { $error_log = 'only allow jpg,png,gif'; die ( 'upload error:' . $error_log ); } switch($file_type) { case 'image/jpg' : case 'image/jpeg' : case 'image/pjpeg' : $extension = 'jpg'; break; case 'image/png' : $extension = 'png'; break; case 'image/gif' : $extension = 'gif'; break; } }if (!is_file($img_data)) { die ( 'Image upload error!' );}//图片保存路径,默认保存在该代码所在目录(可根据实际需求修改保存路径)$save_path = dirname( __FILE__ );$uinqid = uniqid();$filename = $save_path . '/' . $uinqid . '.' . $extension;$result = move_uploaded_file( $img_data, $filename );if ( ! $result || ! is_file( $filename ) ) { die ( 'Image upload error!' );}echo 'Image data save successed,file:' . $filename;$ch = curl_init();$data = array('userId' => 45666,'param' => "exam_explain_4_text",'target' => 96, 'file' => new \CURLFile(realpath("$filename")));curl_setopt($ch, CURLOPT_URL, 'http://xxxxxxxxxxxxx');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);$response = curl_exec($ch);$err = curl_error($ch);curl_close($ch);if ($err) { echo "cURL Error #:" . $err;} else { echo $response;}
以上为原生实现
ws-http实现:
https://github.com/toohamster/ws-http
'application/json');$data = array('userId' => 45666,'param' => "exam_explain_4_text",'target' => 96);$files = array('file' => './logo.jpg');$body = Ws\Http\Request\Body::multipart($data, $files);$response = $httpRequest->post('http://xxxxxxxxx', $headers, $body);
unirest实现
https://github.com/Mashape/unirest-php
$headers = array('Accept' => 'application/json');$data = array('userId' => 45666,'param' => "exam_explain_4_text",'target' => 96);$files = array('file' => './logo.jpg');$body = Unirest\Request\Body::multipart($data, $files);$response = Unirest\Request::post('http://xxxxxxxxxx', $headers, $body);