我有两个服务器,我在服务器1中有一个浏览按钮(即input=file
),我需要将图像上传到server2。我怎样才能做到这一点?
现在我已经完成上传图像到server1,并从那里我试图移动到server2。这是我到目前为止所做的代码
上传到服务器1后,我写了这段代码
$uploadedfile = $_FILES[$fileElementName]['tmp_name'] ;
$data = array('name' => $newname, 'file' => $uploadedfile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_URL, 'http://server.xx/upload.php');
curl_exec($ch);
curl_close($ch);
在server2中我创建了一个文件upload.php 因为我写了
$content = $_POST['file'];
$imageString = file_get_contents("http://server.xx/temp/".$_POST['name']);
$save = file_put_contents("/dddd/".$_POST['name'],$imageString);
我认为我在upload.php文件中做错了..我不知道该怎么做..请帮助我。
答案 0 :(得分:4)
在服务器上执行到服务器2:
$from = ''; //Absolute path to server 1 image
$to = ''; relative path to your server 2 place.
copy($from, $to);
答案 1 :(得分:0)
<?PHP
$ch = curl_init('http://server.xx/upload.php');
$ch = curl_setopt($ch, CURLOPT_POST, true);
$ch = curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => $_FILES[$fileElementName]['tmp_name'] ));
$ch = curl_setopt($ch, CURLOPT_USERPWD, 'username:password');
$result = curl_exec($ch);
if ($result === FALSE) {
die(curl_error($ch));
}
?>