
stream_get_meta_data 함수는 PHP의 stream 관련 함수 중 하나로, 현재 스트림의 메타데이터를 반환합니다. 반환되는 associative array에는 다음과 같은 key-value pair가 포함됩니다.
- 'uri' : 스트림의 URI(Uniform Resource Identifier) 값을 반환합니다. 예를 들어, file://경로나 http://주소와 같은 스트림의 위치를 나타냅니다.
- 'timed_out' : 스트림이 타임아웃이 발생한지 여부를 반환합니다. true이면 타임아웃이 발생했으며, false이면 발생하지 않았습니다.
- 'blocked' : 스트림이 블록킹 상태인지 여부를 반환합니다. true이면 블록킹 상태이며, false이면 블록킹 상태가 아닙니다.
- 'eof' : 스트림의 끝에 도달했는지 여부를 반환합니다. true이면 스트림의 끝에 도달했으며, false이면 끝에 도달하지 않았습니다.
- 'seekable' : 스트림이 seek 가능 여부를 반환합니다. true이면 seek 가능하며, false이면 불가능합니다.
- 'uri' : 스트림의 URI 값을 반환합니다.
- 'column' : 스트림의 현재 열 위치 값을 반환합니다.
- 'read' : 스트림에서 읽은 총 바이트 수 값을 반환합니다.
- 'written' : 스트림으로 쓴 총 바이트 수 값을 반환합니다.
- 'seekable' : 스트림이 seek 가능 여부를 반환합니다.
- 'uri' : 스트림의 URI 값을 반환합니다.
stream_get_meta_data 함수를 사용하는 대표적인 예시로는, 스트림의 현재 상태를 확인하고, 타임아웃이 발생한지 여부를 확인하는 예제가 있습니다.
#hostingforum.kr
php
$fp = fopen('example.txt', 'r');
$meta = stream_get_meta_data($fp);
echo "URI: " . $meta['uri'] . "n";
echo "타임아웃 발생 여부: " . ($meta['timed_out'] ? 'true' : 'false') . "n";
fclose($fp);
이 예제에서는 'example.txt' 파일을 열고, 현재 스트림의 메타데이터를 반환받아 echo로 출력합니다.
2025-05-19 18:04