удаленная загрузка файлов - PullRequest
0 голосов
/ 15 августа 2011

Во-первых, я прошу прощения у модераторов за это больше сообщений ,,

У меня есть в панели управления, страница загрузки файлов

но я хочу загрузить файлы на другой сервер <- у меня есть два сервера </p>

первый URL панели управления сервером (страница загрузки) -

first_server.com / админ / upload.php

моя вторая ссылка на сервер

files.second_server.com

как я могу загрузить файлы на второй сервер с первого сервера?

без перенаправления на второй сервер

мой первый серверный контент - upload.php

<form -- action=i dont know what i should set in action>
<input name=myfile type=file>
<input type=submit>
</form>

файл второго сервера - proccess.php

if($_FILE['myfile']){
move_uploaded_file.......
//print the file link , to get it by my first page on first server
echo $second_server_full_path . '/' . $_FILE['myfile']['name'];
}

так .. как я могу сделать эту работу с помощью curl или file_get_content

Я думаю, что file_get_content будет в порядке .. но максимальное время ожидания слишком мало!

Пожалуйста, помогите!

1 Ответ

2 голосов
/ 15 августа 2011

как я могу загрузить файлы на второй сервер с первого сервера? без перенаправления на второй сервер

При перенаправлении я предполагаю, что вы имеете в виду, что почтовый запрос отправляется на второй сервер.

Во-первых, технически это невозможно. Данные формы будут отправлены на указанный сервер, если, согласно требованиям, вы хотите сохранить файлы на втором сервере, второй сервер должен получить данные.

Если вы не хотите отправлять файлы на второй сервер через браузер, вам необходимо отправить файлы на второй сервер через первый сервер. Например, вы можете создать сетевой ресурс на втором сервере, а затем в своем сценарии отправки на первом сервере вы переместите файлы на второй сервер через общий ресурс.

Для передачи файлов через 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...