Загрузите содержимое сгенерированной страницы PHP из другого скрипта PHP - PullRequest
1 голос
/ 12 мая 2009

У меня есть PHP-скрипт на сервере, который генерирует данные XML на лету, скажем, с Content-Disposition: вложение или с простым эхо, не имеет значения. Я назову этот файл www.something.com/myOwnScript.php

На другом сервере, в другом PHP-скрипте я хочу иметь возможность получить этот файл (чтобы избежать «сохранения файла на диск») в виде строки (используя путь www.something.com/myOwnScript.php) и затем манипулировать XML-данные, которые генерирует скрипт.

Возможно ли это без использования веб-сервисов? последствия для безопасности?

Спасибо

Ответы [ 3 ]

8 голосов
/ 12 мая 2009

Простой ответ, да:

<code>$output = file_get_contents('http://www.something.com/myOwnScript.php');

echo '<pre>';
print_r($output);
echo '
';
4 голосов
/ 12 мая 2009

Если вам нужен больший контроль над тем, как вы запрашиваете данные (подделка заголовков, поля отправки сообщений и т. Д.), Вам следует обратиться к cURL. текст ссылки

1 голос
/ 12 мая 2009

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

Если вы застряли в таких обстоятельствах, вы можете использовать CURL :

<?php
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "example.com");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);     
?>

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

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