как я могу загрузить файлы на второй сервер с первого сервера?
без перенаправления на второй сервер
При перенаправлении я предполагаю, что вы имеете в виду, что почтовый запрос отправляется на второй сервер.
Во-первых, технически это невозможно. Данные формы будут отправлены на указанный сервер, если, согласно требованиям, вы хотите сохранить файлы на втором сервере, второй сервер должен получить данные.
Если вы не хотите отправлять файлы на второй сервер через браузер, вам необходимо отправить файлы на второй сервер через первый сервер. Например, вы можете создать сетевой ресурс на втором сервере, а затем в своем сценарии отправки на первом сервере вы переместите файлы на второй сервер через общий ресурс.
Для передачи файлов через curl (примечание: @
перед путем к файлу):
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
"myfile"=>"@/path/to/myfile.jpg",
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
Вместо использования curl Поддерживаемые протоколы и оболочки , возможно, стоит изучить, например. просто передать файлы через FILE / FTP / SSH.