stream_notification_callback
컨텍스트 매개 변수를 알리는 콜백 함수
함수 이름 : stream_notification_callback ()
기능 설명 :이 기능은 스트림 알림을위한 콜백 함수를 처리하는 데 사용됩니다.
해당 버전 : PHP 4> = 4.3.0, PHP 5, PHP 7
구문 : void stream_Notification_callback (int $ notification_code, int $ endificity, string $ message, int $ message_code, int $ bytes_transferred, int $ bytes_max)
매개 변수 :
반환 값 : 반환 값 없음.
예:
function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) { switch ($notification_code) { case STREAM_NOTIFY_CONNECT: echo "连接建立成功!\n"; break; case STREAM_NOTIFY_AUTH_REQUIRED: echo "需要进行身份验证!\n"; break; case STREAM_NOTIFY_AUTH_RESULT: echo "身份验证结果:$message\n"; break; case STREAM_NOTIFY_FILE_SIZE_IS: echo "文件大小:$bytes_max 字节\n"; break; case STREAM_NOTIFY_PROGRESS: echo "已传输字节数:$bytes_transferred / $bytes_max\n"; break; case STREAM_NOTIFY_COMPLETED: echo "传输完成!\n"; break; case STREAM_NOTIFY_FAILURE: echo "传输失败!\n"; break; case STREAM_NOTIFY_RESOLVE: echo "正在解析主机信息...\n"; break; case STREAM_NOTIFY_MIME_TYPE_IS: echo "MIME 类型:$message\n"; break; default: echo "未知通知类型\n"; break; } } $stream_context = stream_context_create(); stream_context_set_params($stream_context, ['notification' => 'stream_notification_callback']); $file = fopen('http://example.com', 'r', false, $stream_context);
위의 예에서는 스트림 알림을 처리하기 위해 Stream_Notification_Callback이라는 콜백 함수를 정의합니다. 이 기능은 들어오는 Notification_code 매개 변수를 기반으로 다른 알림 유형을 판단하고 해당 처리를 수행합니다. URL 리소스를 열 때 stream_context_create () 함수를 통해 스트림 컨텍스트를 작성한 다음 Stream_Context_set_params () 함수로 정의한 콜백 함수의 알림 매개 변수를 설정합니다. 마지막으로 Fopen () 함수를 사용하여 URL 리소스를 열고 해당 알림을 트리거하며 콜백 함수를 통해 해당 정보를 출력합니다.