Мне было любопытно узнать, есть ли способ загрузить файл с сервера 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
Есть идеи, что делать?
Вы также можете использовать 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)
попробуйте что-то вроде этого:
$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()
первый.