PHP:如何将网页内容加载到变量中?

时间:2010-07-14 18:19:08

标签: php

如何将网页内容加载到变量中?

我需要将html存储在字符串

感谢

2 个答案:

答案 0 :(得分:24)

如果已启用allow_url_fopen,则可以使用file_get_contents

$my_var = file_get_contents('http://yoursite.com/your-page.html');

而且,如果您需要更多选项,请查看Stream Functions - stream_context_create手册页上有一个示例,其中设置了几个HTTP标头。


如果allow_url_fopen被禁用,则另一种解决方案是使用curl - 这意味着需要更多行代码。

基本的东西应该在最简单的情况下起作用:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://stackoverflow.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$my_var = curl_exec($ch);
curl_close($ch);

但请注意,您可能还需要一些其他选项 - 请参阅curl_setopt的手册页以获取完整列表。

例如:

  • 我经常设置 CURLOPT_FOLLOWLOCATION ,因此会重定向。
  • 与tiemout相关的选项通常也很有用。

答案 1 :(得分:2)

以下代码将网站w3schools.com的内容存储到变量中。

$ my_var = file_get_contents('http://www.w3schools.com');

echo $ my_var;