我正在尝试这本书中的简单PHP代码。
<?php
$handle=fopen('http://www.abc.com/','r');
//echo $handle;
$response=stream_get_contents($handle);
//echo $response;
$meta=stream_get_meta_data($handle);
//print_r($meta['wrapper_data']);
?>
当我们调用fopen()时,它返回文件指针资源(根据PHP手册)。当我回显$ handle的值时,这是一个简单的数字。我不明白后台发生了什么。是不是像fopen()下载了html并存储在某些地方,并给我们一个指针?
当我回复$ response时,它就是整个网页。这意味着$ response包含完整的网页HTML。现在如何从stream_get_contents($ handle)获取整个HTML。但是$ handle只是一个数字,如果我们回应它。我无法理解fopen和文件指针资源的机制。有谁能解释我?
答案 0 :(得分:0)
这个概念与许多编程语言(特别是C)类似。
当一个文件被打开时,我们需要一个标识符来处理(读/写/删除)这个文件,这个文件称为文件指针资源。
当进程使用fopen函数打开文件时,文件 handle(文件指针资源)与之关联,直到 进程终止或使用fclose函数关闭句柄。 文件句柄用于在许多函数调用中标识文件。