curl — Как загрузить файл на сервер динамически, используя Stack Overflow

Мне было любопытно узнать, есть ли способ загрузить файл с сервера SERVER A и поместить его на сервер SERVER B, где сервер SERVER имеет возможность динамически изменять содержимое загруженного файла.

Дело в том, что я пытаюсь создать обработчик ошибок для инструмента, который будет использоваться, когда файл, который является необходимой частью инструмента, пропадает. Это похоже на то, как WordPress понимает, что на вашем сайте отсутствует файл, и ваш сайт отправляет запрос на wordpress.com, чтобы получить недостающие файлы, например:

(СЕРВЕР B): PHP выкладывает ошибку на include

(СЕРВЕР B): PHP пытается получить установщик файлов для отсутствующих файлов от сервера SERVER A, говоря, что сервер SERVER B отсутствует FILE A, FILE B, FILE C, так далее…

на шаг выше я думал, что это можно сделать с помощью этого:

file_put_contents("missing_installer.php", "http://SERVER_A.com/mi_inst_installer.php?query-asking-for-missing-item(s)=missing-item", 'r'));

ПРИМЕЧАНИЕ (только если вы не понимаете, что делает приведенный выше код): Приведенный выше код должен указывать PHP-файлу SERVER A, mi_inst_installer.php, выплевывать данные (установщик) и помещать их в файл missing_installer.php на SERVER B

(СЕРВЕР B): PHP устанавливает недостающие файлы, используя только что полученный отсутствующий_установщик.php

Есть идеи, что делать?

0

Решение

Вы также можете использовать cURL для динамики на стороне SERVER A:

function curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$return = curl_exec($ch);
curl_close ($ch);
return $return;
}
file_put_contents('missing_installer.php', curl('http://SERVER_A.com/mi_inst_installer.php?query-asking-for-missing-item(s)=missin-item'));

Ответ Джеки хорош, только если allow_url_fopen установлено на 1.

также использовать Справочник PHP для параметров передачи cURL (позволяет настроить способ отправки и / или возврата запроса). Кроме того, это хорошая идея, чтобы привыкнуть к тому, как работает cURL в целом; увидеть другая ссылка PHP (клиентская библиотека URL)

2

Другие решения

попробуйте что-то вроде этого:

$mycontent = file_get_contents('http://SERVER_A.com/mi_inst_installer.php?query-asking-for-missing-item(s)=missin-item');
file_put_contents('missing_installer.php', $mycontent));

вам нужно получить (используя file_get_contents()) сначала содержимое загруженного файла, а затем поместите его во второй параметр file_put_contents() первый.

2

По вопросам рекламы [email protected]