Привет, я пытаюсь переместить загруженное изображение на удаленный сервер, который работает как резервный сервер. Таким образом, если я загружу изображение, он автоматически отправит файл на резервный сервер через curl.Перемещение загруженного изображения на другой сервер
Загрузка, переименование и перемещение изображений полностью, но единственная проблема, которую я получил, - это переместить копии данных на удаленный сервер.
моя загрузка/переименование/перемещение функции изображения.
function imageUpload($dateiIn,$maxDateiGr,$maxDateix,$maxDateiy) {
if($_FILES[$dateiIn]['size']>0) {
if(checkUploadSize($_FILES[$dateiIn]['size'],$maxDateiGr)) {
if($dateiEndung = imageCheckSize($_FILES[$dateiIn]['tmp_name'],$maxDateix,$maxDateiy)) {
$md5datei = md5_file($_FILES[$dateiIn]['tmp_name']).'_'.rand(10000,99999);
if(move_uploaded_file($_FILES[$dateiIn]['tmp_name'],'/var/www/thumbs/'.$md5datei.$dateiEndung)) {
return $md5datei.$dateiEndung;
}
else { return false; }
}
else { return false; }
}
else { return false; }
}
else { return false; }
}
$ md5datei = имя файла и $ dateiEndung = формат файла (JPG)
Теперь то, что я судимое сделать это следующим образом:
function imageUpload($dateiIn,$maxDateiGr,$maxDateix,$maxDateiy) {
if($_FILES[$dateiIn]['size']>0) {
if(checkUploadSize($_FILES[$dateiIn]['size'],$maxDateiGr)) {
if($dateiEndung = imageCheckSize($_FILES[$dateiIn]['tmp_name'],$maxDateix,$maxDateiy)) {
$md5datei = md5_file($_FILES[$dateiIn]['tmp_name']).'_'.rand(10000,99999);
if(move_uploaded_file($_FILES[$dateiIn]['tmp_name'],'/var/www/thumbs/'.$md5datei.$dateiEndung)) {
$filename = '/var/www/thumbs/'.$md5datei.$dateiEndung;
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$POST_DATA = array('file'=>base64_encode($data));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://external.net/upload.php');
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $POST_DATA);
$response = curl_exec($curl);
curl_close ($curl);
// return name to be able to write it inside the database
return $md5datei.$dateiEndung;
}
else { return false; }
}
else { return false; }
}
else { return false; }
}
else { return false; }
}
А на external.net сервер я получил файл upload.php:
<?PHP
$encoded_file=$_POST['file'];
$decoded_file=base64_decode($encoded_file);
$dest = "/var/www/thumbs/".$decoded_file;
/*Now you can copy the uploaded file to your server.*/
file_put_contents($dest,$decoded_file);
?>
Но файл по-прежнему не приземлится внутри/вар/WWW/палец папки на доб ernal server.
И оба журнал ошибки пуст, и я больше не знаю, что делать без ошибок ..
$ dest = "/var/www/thumbs/".$_POST['FILENAME ']; до $ dest = $ _POST ['FILENAME']; и теперь это работает. – user2943347