Задать вопрос
ILoveYAnny
@ILoveYAnny

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

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

ps
Сервер А - Шаред хостинг
Сервер B - Ubuntu
  • Вопрос задан
  • 364 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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 Автор вопроса
Можно так-же отправлять Аяксом данные на Сервера А, а после передачи, форму нативными средствами на Сервер Б.
Либо использовать только Аякс.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽