ILoveYAnny
@ILoveYAnny

Как правильно в PHP принять форму на одном сервере, а файл из неё передать на другой?

Здравствуйте, у меня есть форма, в которой находятся данные и файл. Всё это я получаю на сервере А. На сервере А мне нужно обработать форму, а файл из неё сохранить на сервере B. Подскажите как правильно это сделать?

ps
Сервер А - Шаред хостинг
Сервер B - Ubuntu
  • Вопрос задан
  • 363 просмотра
Решения вопроса 2
sergiks
@sergiks Куратор тега PHP
♬♬
Вариант I. Смонтировать по NFS папку с сервера B на сервере A.

Вариант II. Средством PHP сразу слать принятый файл на сервер B – это чуть удлинит время обработки принятой формы, но зато самое простое решение. Используйте cURL и CURLFile:
$ch = curl_init();
curl_setopt_array( $ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS => [
	  "file" => new CURLFile("/tmp/" . $tmpFileName) // путь к принятому файлу
  ],
  CURLOPT_URL => "http://server-B.domain.com"
]);

curl_exec( $ch); // выполнить запрос

Опции cURL см. подробнее – может, вам понадобится отключать проверку SSL сертификата, увеличить таймайут и т.п.
Ответ написан
ILoveYAnny
@ILoveYAnny Автор вопроса
Можно так-же отправлять Аяксом данные на Сервера А, а после передачи, форму нативными средствами на Сервер Б.
Либо использовать только Аякс.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы