下面是将数据从客户端服务器发送到远程服务器的代码:
$fields_string = "";
$fields = array();
$file_name_with_full_path = realpath('./sample.jpeg');
$url = 'http://192.168.1.xx/proj_v6/upload_amax_data';
if (isset($_FILES['files']['tmp_name'][0])) {
$filename = $_FILES['files']['tmp_name'][0];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$fields = array(
'file' =>
'@' . $_FILES['files']['tmp_name'][0]
. ';filename=' . $_FILES['files']['name'][0]
. ';type=' . $_FILES['files']['type'][0]
);
}
$fields = array(
'r_token' => urlencode(REMOTE_AUTH_TOKEN),
'lname' => urlencode('$lname'),
'fname' => urlencode('$first_name'),
'title' => urlencode('$title'),
'company' => urlencode('$institution'),
'age' => urlencode('$age'),
'email' => urlencode('$email'),
'phone' => urlencode('$phone')
);
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
我在远程服务器中获取了 _POST 美元的数据,但没有获得 _FILES 美元的数据......尝试了一些网站,但没有运气...
重要说明:如何使用 php curl 将"$_FILES"和"$_POST"数据传递到远程服务器。
if (isset($_FILES['files']['tmp_name'][0])) {
$filename = $_FILES['files']['tmp_name'][0];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$fields['image'] = '@'.$_FILES['files']['tmp_name'][0]
. ';filename=' . $_FILES['files']['name'][0]
. ';type=' . $_FILES['files']['type'][0];
}