Funktionsname: stream_notification_callback ()
Funktionsbeschreibung: Diese Funktion wird verwendet, um Rückruffunktionen für Stream -Benachrichtigungen zu verarbeiten.
Anwendbare Version: Php 4> = 4.3.0, Php 5, Php 7
Syntax: void stream_notification_callback (int $ notification_code, int $ Schweregrad, String $ Message, int $ message_code, int $ bytes_transferred, int $ bytes_max)
Parameter:
Rückgabewert: Kein Rückgabewert.
Beispiel:
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);
Im obigen Beispiel definieren wir eine Rückruffunktion namens Stream_Notification_Callback, um Stream -Benachrichtigungen zu verarbeiten. Diese Funktion beurteilt verschiedene Benachrichtigungsarten basierend auf dem Parameter "Incoming Notification_Code" und führt die entsprechende Verarbeitung aus. Beim Öffnen einer URL -Ressource erstellen wir einen Stream -Kontext über die Funktion von Stream_Context_Create () und setzen dann den Benachrichtigungsparameter für die Rückruffunktion fest, die wir mit der Funktion stream_context_set_params () definiert haben. Schließlich verwenden wir die Funktion fopen (), um eine URL -Ressource zu öffnen, die entsprechende Benachrichtigung auszulösen und die entsprechenden Informationen über die Rückruffunktion auszugeben.