ローカル テスト:
画像の場所:curl のディレクトリ内、
E:Apache24htdocscurlimg_8176.jpg
ローカル環境:
Window x64 ビット
Apache2.4
PHP7 .0: これは、公式バージョンの最初のバージョンです。
mysql なし
コードは次のとおりです:
curl_upload.php
<?php $data = array( 'uid' => 10086, 'pic' => "@".realpath('./img_8176.jpg').";type=image/png");print_r($data);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'http://192.168.10.103/curl/upload_server.php' );curl_setopt($ch, CURLOPT_POST, true );//curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);//curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);//模拟浏览器动作curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));//curl_setopt($ch, CURLOPT_HEADER, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$return_data= curl_exec($ch);echo "<pre class="brush:php;toolbar:false">";print_r($return_data);echo "";curl_close($ch);var_dump($return_data); if(@curl_errno($return_data)==0){ return json_decode($return_data,true); }else { return false; }?>
<?php print_r($_POST);echo "\n_______________________\n";print_r($_FILES['pic']);?>
エラーの原因と解決策についてはドキュメントを参照してください
http://segmentfault.com/a/1190000000725185