오늘 누군가 PHPCHINA에서 PHP에서 XML을 전송하는 방법을 물었습니다. , 해당 솔루션이 위에 제공되었습니다. 그런데 PHP의 입력 및 출력 스트림에 대해 이야기해 보겠습니다.
제가 여름방학 동안 회사에 있을 때 동료들이 스트리밍 미디어를 만들기 위해 우연히 Flash를 사용하고 있었습니다. 당시 FLASH에서 전달한 미디어 정보(역시 XML 형식)를 읽으려면 PHP를 사용해야 했습니다. 나는 또한 PHP의 기본 입력 및 출력 스트림에 대해 잘 알고 있었습니다.
설명서에는 다음과 같이 나와 있습니다.
PHP 3.0.13 이상에서는 PHP 4.3.0부터 php://output, php://input을 지원하고, PHP 5.0.0부터 php://filter를 지원합니다.
php://stdin
php://stdout
php://stderr
php://출력
php://입력
php://필터
php://stdin, php://stdout 및 php://stderr를 사용하면 PHP 프로세스의 해당 입력 또는 출력 스트림에 액세스할 수 있습니다.
php://output을 사용하면 print() 및 echo()와 동일한 방식으로 출력 버퍼링 메커니즘에 데이터를 쓸 수 있습니다.
php://input을 사용하면 POST의 원시 데이터를 읽을 수 있습니다. $HTTP_RAW_POST_DATA보다 메모리에 대한 부담이 적고 특별한 php.ini 설정이 필요하지 않습니다. php://input은 enctype="multipart/form-data"와 함께 사용할 수 없습니다.
php://stdin 및 php://input은 읽기 전용이고, php://stdout, php://stderr 및 php://output은 쓰기 전용입니다.
php://filter는 필터 프로그램이 열릴 때 스트림이 될 수 있도록 설계된 래퍼 프로토콜입니다. 이는 자체적으로 완전한 기능을 갖춘 readfile(), file() 및 file_get_contents()와 같은 파일 함수에 유용합니다. 그렇지 않으면 내용을 읽기 전에 스트림 위에 필터를 적용할 기회가 없기 때문입니다.
즉, 게시물의 원본 데이터가 php://input이라는 파일에 저장됩니다. 간단한 파일 조작을 통해 내부의 데이터를 읽어 제어할 수 있습니다.
$data=file_get_contents(php://input);
위 내용은 http://www.hunanzhibo.com/을 소개하고, http://www.hunanzhibo.com/의 내용을 포함하여 PHP의 입출력 스트림에 대해 이야기하고 있으니 관심 있는 친구들에게 도움이 되었으면 좋겠습니다. PHP 튜토리얼에서.