当先锋百科网

首页 1 2 3 4 5 6 7

对于PHP开发者来说,使用get_contents的函数已经是家常便饭了。该函数用来获取指定url的内容,返回值是一个字符串。相较于file_get_contents函数,get_contents可以使用更多的参数,可以更加灵活地对所取得的内容进行处理。下面我们一起来详细了解一下get_contents函数的使用方法。

首先,下面我们来看一个简单的例子。假如我们需要获取http://www.example.com这个页面的内容,并将其打印在页面上,可以使用下面的代码:

$url = 'http://www.example.com';
$content = file_get_contents($url);
echo $content;

上面的代码很简单,第一行定义了所要访问的url,第二行用file_get_contents函数来获取该url对应页面的内容,最后一行使用echo语句将所获得的内容输出到页面上。

然而,在实际应用中,我们经常需要通过get_contents函数来获取一些需要登录才能访问的页面,这时候就需要使用更多的参数来进行设置了。例如,我们需要登录才能访问http://www.example.com/login页面,经过登录后才能进入http://www.example.com/user页面,以下是示例代码:

$url = 'http://www.example.com/login';
$post_data = 'username=your_username&password=your_password';
$options = array(
'http' =>array(
'method' =>'POST',
'header' =>'Content-type: application/x-www-form-urlencoded',
'content' =>$post_data
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$cookie = $http_response_header[6];
$url = 'http://www.example.com/user';
$options = array(
'http' =>array(
'method' =>'GET',
'header' =>'Cookie: ' . $cookie
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
echo $response;

在上面的示例代码中,我们首先访问登录页面,并使用post方式提交用户名和密码以模拟登录。随后,我们使用stream_context_create函数来创建一个包含我们所需参数的上下文。然后,我们使用file_get_contents函数来访问登录后的页面,并将所获取的cookie存入$cookie变量中。最后,我们再次使用stream_context_create函数来创建用于访问已登录页面的上下文,并在header里设置cookie,从而成功登录并获取了页面内容。

当然,上面的示例只是get_contents函数的冰山一角,该函数具有非常强大的功能,例如我们还可以使用其它方法来访问https页面、设置超时时间等等。如果你对此有进一步的研究,你会发现get_contents函数能为你的开发工作带来很多便利。