2013-10-03 16 views
0

나는이 간단한 PHP 코드를 책에서 읽으려고했다.PHP에서 fopen은 어떻게 작동합니까?

<?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가 웹 페이지의 완전한 HTML을 포함한다는 것을 의미합니다. 이제 전체 HTML을 stream_get_contents ($ handle)에서 가져 왔습니다. $ handle은 우리가 echo하면 그냥 숫자입니다. fopen 및 파일 포인터 리소스의 메커니즘을 이해할 수 없습니다. 아무도 날 설명 할 수 있니?

답변

0

개념은 많은 프로그래밍 언어 (특히 C)와 비슷합니다.

파일을 열 때 파일 포인터 리소스라고 불리는 나중에이 파일을 조작 (읽기/쓰기/삭제)하는 식별자가 필요합니다.

파일이 프로세스가 종료 또는 핸들이 FCLOSE 함수를 사용하여 폐쇄 할 때까지 그와 연관된는 fopen 함수 파일 핸들 (파일 포인터 자원)을 사용하는 방법에 의해 열릴 때. 파일 핸들은 많은 함수 호출에서 파일을 식별하는 데 사용됩니다.

더 : File Handles in Windows

관련 문제