fopen返回资源标识符#4。

4
<?php
$handle = fopen("https://graph.facebook.com/search?q=mark&type=user&access_token=2227470867|2.mLWDqcUsekDYZ_FQQXYnHw__.3600.1279803600-100001317997096|YxS1eGhjx2rpNYLNE9wLrfb5hMc.", "r");
echo $handle;
?>

为什么它会回显资源编号#4而不是页面本身?

5
可能是因为这是一个非常基础的问题,如果提问者只是访问了php.net上的手册页面,就不需要提出这个问题。 - Mark Baker
4个回答

7
因为fopen()返回的是指向文件的资源指针,而不是文件内容。它只是打开文件以便后续读取和/或写入,这取决于您打开文件的模式。
您需要使用fread()从$handle所引用的资源中读取数据。
这些都是基础知识,您可以在php.net的手册页面上自行阅读。

6

一旦您创建了$handle,现在需要使用fread()函数读取内容。

$contents = ''; 
while (!feof($handle)) 
{ 
$contents .= fread($handle, 8192); 
} 
fclose($handle); 
echo $contents; 

source: php.net/manual/en/function.fread.php


4

使用

<?php
    $data = file_get_contents("https://graph.facebook.com/search?q=mark&type=user&access_token=2227470867|2.mLWDqcUsekDYZ_FQQXYnHw__.3600.1279803600-100001317997096|YxS1eGhjx2rpNYLNE9wLrfb5hMc.", "r");
    echo $data;
?>

2
因为fopen返回的是打开文件的资源句柄,而不是文件内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接