繁体   English   中英

如何使用php强制将Web内容下载到服务器

[英]How to force download web content to server using php

假设我打开此页面http://localhost/test/index.php并提供以下输出:

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

页面标题为纯文本,因此不会显示html格式的

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

问题是如何自动获取纯文本内容并将其写入文本文件并将其保存在Web服务器中。 例如是http://localhost/test/grab/text1.txt

“编辑”

“将文件内容保存到Web服务器上的某个位置,而不要求客户端保存它”。

假设您正确表达了您的问题,并且您实际上想保存在服务器上而不是客户端上。

您可以使用输出缓冲来捕获输出,然后将其保存在您选择的文件中

http://www.php.net/manual/zh/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();

?>

“将其保存在Web服务器中”? 您是说应该提示客户端将响应另存为文件在其本地系统上吗? 在这种情况下,请使用Content-Disposition标头:

header('Content-Disposition: attachment; filename="text1.txt"');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM