阅读量:0
stream_get_contents
是 PHP 中的一个函数,用于从给定的流中读取数据,并将其作为字符串返回。这个函数在处理文件、网络套接字、数据流等资源时非常有用。以下是一些使用技巧:
- 读取文件内容:
$filename = 'example.txt'; $content = stream_get_contents($filename); echo $content;
- 从网络套接字读取数据:
$host = 'www.example.com'; $port = 80; $context = stream_context_create([ 'http' => [ 'method' => 'GET', 'timeout' => 10 ] ]); $content = stream_get_contents("http://{$host}:{$port}", false, $context); echo $content;
- 从数据流中读取数据:
$resource = fopen('php://input', 'r'); $content = stream_get_contents($resource); fclose($resource); echo $content;
- 使用
stream_context_create
自定义 HTTP 请求头:
$options = [ 'http' => [ 'method' => 'GET', 'header' => 'User-Agent: MyCustomUserAgent\r\n' ] ]; $context = stream_context_create($options); $content = stream_get_contents('http://www.example.com', false, $context); echo $content;
- 使用
stream_get_contents
读取多个流:
$file1 = fopen('example1.txt', 'r'); $file2 = fopen('example2.txt', 'r'); $content1 = stream_get_contents($file1); $content2 = stream_get_contents($file2); fclose($file1); fclose($file2); echo $content1 . $content2;
- 使用
stream_get_contents
与file_get_contents
的比较:
file_get_contents
是一个内置函数,用于读取文件内容。与 stream_get_contents
相比,file_get_contents
更简洁。但是,stream_get_contents
提供了更大的灵活性,因为它可以处理任何类型的数据流。
总之,stream_get_contents
是一个功能强大的函数,可以帮助你轻松地处理各种数据流。在使用时,可以根据实际需求选择合适的技巧。