Как заставить загрузку веб-контента на сервер с помощью php - PullRequest
0 голосов
/ 11 марта 2011

Допустим, я открываю эту страницу http://localhost/test/index.php и выдаю мне этот вывод:

<p>test</p>
<p>second test</p>

Заголовок страницы представляет собой обычный текст, поэтому он не будет отображать формат HTML

header("Content-Type: plain/text");

Вопрос в том, как автоматически захватить текстовое содержимое, записать его в текстовый файл и сохранить на веб-сервере. Например, это http://localhost/test/grab/text1.txt

"EDIT"

«Сохраняйте содержимое файлов где-нибудь на веб-сервере, не просите клиента сохранить его» ...

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Предполагая, что вы правильно сформулировали свой вопрос, и вы действительно хотите сэкономить на сервере, а не на клиенте.

Вы можете использовать буферизацию вывода для захвата вывода и затем сохранить его в файле по вашему выбору

http://www.php.net/manual/en/function.ob-start.php

Пример со страницы руководства (изменено для сохраненияфайл)

<?php

function callback($buffer)
{
  //save the content
  $filename = 'grab/test.txt';
  file_put_contents($filename, $buffer);
}

ob_start("callback");

?>

<html>
 <body>
   <p>test</p>
   <p>second test</p>
 </body>
</html>
<?php

ob_end_flush();

?>

0 голосов
/ 11 марта 2011

«Сохранить на веб-сервере»?Вы хотите сказать, что клиент должен получить ответ в виде файла в своей локальной системе?В этом случае используйте заголовок Content-Disposition:

header('Content-Disposition: attachment; filename="text1.txt"');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...