php://Wrapper는 다양한 I/O 스트림에 대한 액세스를 지원합니다. 여기에는 표준 입력, 출력 및 오류 스트림이 포함됩니다. 메모리 내, 디스크 기반 및 필터링된 스트림도 php:// 프로토콜을 통해 액세스할 수 있습니다.
php://stdin, php://stdout 및 php://stderr을 사용하면 PHP 프로세스가 각각 표준 입력 스트림 장치, 표준 출력 스트림 및 오류 스트림에 직접 액세스할 수 있습니다. 미리 정의된 상수 STDIN, STDOUT 및 STDERR은 각각 이러한 스트림을 나타냅니다.
으로 설정된 경우 php://input은 작동하지 않습니다. 이 래퍼는 쓰기 전용 스트림을 나타내며 print와 유사한 버퍼링 메커니즘을 허용합니다. 및 echo 진술.
a 파일 설명자는 이 래퍼를 통해 액세스할 수 있습니다. 표준 스트림 STDIN, STDOUT 및 STDERR에는 파일 설명자 1, 2 및 3이 할당됩니다. 다른 모든 스트림에는 증분 파일 설명자가 할당됩니다. 따라서 php://fd/5는 데이터를 메모리에 임시로 저장할 수 있는 읽기/쓰기 스트림인 파일 설명자 5
를 나타냅니다. php://temp 래퍼도 비슷합니다. 그러나 후자의 경우 데이터는 메모리가 아닌 임시 파일에 저장됩니다.
이 래퍼를 사용하면 스트림이 필터링되는 동안 필터를 스트림에 적용할 수 있습니다. 열려 있는. 필터는 readfile(), file_get_contents() 및 file() 함수에 특히 유용합니다.
다음 예에서는 php://stdin에서 콘솔 입력을 읽고 php://stdout
<?php $file=fopen("php://stdin","r"); $x=fread($file,10); echo $x; $out=fopen("php://stdout","w"); fwrite($out, $x); fclose($file); ?>
php://input 스트림 래퍼를 사용하여 출력을 표시합니다. HTTP 요청의 원시 데이터. 아래 예에서 HTML 양식은 POST 메서드를 사용하여 PHP 스크립트에 데이터를 보냅니다.
<html> <body> <form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type ="submit" value="submit"> </form> </body> </html>
원시 HTTP 데이터를 검색하는 PHP 스크립트는 다음과 같습니다. -
<?php $json = file_get_contents("php://input"); $data = json_decode($json); print_r($json); ?>
위 내용은 번역: PHP php://의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!