/**
* # +========================================================================
* # | - @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;
}