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 Автор вопроса
Можно так-же отправлять Аяксом данные на Сервера А, а после передачи, форму нативными средствами на Сервер Б.
Либо использовать только Аякс.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы