/** * # +======================================================================== * # | - @name 文件传输 * # | - @author cq <just_leaf@foxmail.com> * # | - @copyright zmtek 2018-11-07 * # +------------------------------------------------------------------------ * # | - 1.初始化文本格式 * # +======================================================================== */ public function upload_file_to_java($path, $url, $json) { $new_path = $path; # 检测文件是否存在 if(!file_exists($new_path)){die(); } # 初始化 $curl = curl_init(); # 检测请求版本 if (class_exists('CURLFile')) { curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true); $data = array('Json' => $json, 'File' => new CURLFile($new_path)); //>=5.5 } else { if (defined('CURLOPT_SAFE_UPLOAD')) { curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false); } $data = array('Json' => $json, 'File' => '@' . $new_path); //<=5.5 } # 请求地址 curl_setopt($curl, CURLOPT_URL, $url); # HTTP POST,设置这个选项为一个非零值 curl_setopt($curl, CURLOPT_POST, 1); # 在HTTP中的“POST”操作。 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); # 设定是否显示头信息 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); # 在HTTP请求中包含一个”user-agent”头的字符串。 curl_setopt($curl, CURLOPT_USERAGENT, "TEST"); # 不设置超时时间 curl_setopt($curl, CURLOPT_TIMEOUT, 0); # 执行 $result = curl_exec($curl); # 如果存在错误 if (curl_errno($curl)) { # 主动触发一个异常 $result = curl_error($curl); } # 关闭资源 curl_close($curl); # 返回数据 return $result; }