HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

stream_notification_callback

Description

The stream_notification_callback of Stream for PHP a callback function for the notification context parameter.

Syntax

stream_notification_callback(
    int $notification_code,
    int $severity,
    ?string $message,
    int $message_code,
    int $bytes_transferred,
    int $bytes_max
): void

Parameters

notification_code

One of the STREAM_NOTIFY_* notification constants.

severity

One of the STREAM_NOTIFY_SEVERITY_* notification constants.

message

Passed if a descriptive message is available for the event.

message_code

Passed if a descriptive message code is available for the event.

The meaning of this value is dependent on the specific wrapper in use.

bytes_transferred

If applicable, the bytes_transferred will be populated.

bytes_max

If applicable, the bytes_max will be populated.

Return

No value is returned.

Examples

1

<?

function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max)
{
    switch($notification_code)
    {
        case STREAM_NOTIFY_RESOLVE:
        case STREAM_NOTIFY_AUTH_REQUIRED:
        case STREAM_NOTIFY_COMPLETED:
        case STREAM_NOTIFY_FAILURE:
        case STREAM_NOTIFY_AUTH_RESULT:
            var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max);
            break;
        case STREAM_NOTIFY_CONNECT:
            echo "connect";
            break;
        case STREAM_NOTIFY_MIME_TYPE_IS:
            echo "mime type: " . $message;
            break;
        case STREAM_NOTIFY_FILE_SIZE_IS:
            echo "file size: " . $bytes_max;
            break;
        case STREAM_NOTIFY_REDIRECTED:
            echo "redirected: " . $message . "\n";
            break;
        case STREAM_NOTIFY_PROGRESS:
            echo "progress: " . $bytes_transferred;
            break;
    }
    echo "\n";
}

$stream_or_context = stream_context_create();
$params =
[
    "notification" => "stream_notification_callback"
];

stream_context_set_params($stream_or_context, $params);

$filename = "http://osbo.com/";
$use_include_path = false;

file_get_contents($filename, $use_include_path, $stream_or_context);
connect
mime type: text/html
file size: 795
redirected: https://osbo.com/

connect
mime type: text/html; charset=UTF-8
progress: 0
progress: 993
progress: 0
progress: 993
progress: 9185
progress: 15987
progress: 24179
progress: 32371
progress: 40563
progress: 48755
progress: 56947
progress: 65139
progress: 65538
progress: 73730
progress: 81922
progress: 90114
progress: 98306
progress: 106498
progress: 114690
progress: 122882
progress: 131074
progress: 131083
progress: 139275
progress: 147467
progress: 155659
progress: 163851
progress: 172043
progress: 180235
progress: 188427
progress: 196619
progress: 196628
progress: 197996
progress: 206188
progress: 212990
progress: 221182
progress: 229374
progress: 237566
progress: 245758
progress: 253950
progress: 262142
progress: 262173
progress: 270365
progress: 278557
progress: 286749
progress: 294941
progress: 303133
progress: 311325
progress: 319517
progress: 327709
progress: 327718
progress: 329086
progress: 337278
progress: 344080
progress: 352272
progress: 360464
progress: 368656
progress: 376848
progress: 385040
progress: 393232
progress: 393263
progress: 401455
progress: 409647
progress: 417839
progress: 426031
progress: 434223
progress: 442415
progress: 450607
progress: 458799
progress: 458808
progress: 460176
progress: 468368
progress: 475170
progress: 483362
progress: 491554
progress: 499746
progress: 507938
progress: 516130
progress: 524322
progress: 524353
progress: 532545
progress: 540737
progress: 548929
progress: 557121
progress: 565313
progress: 573505
progress: 581697
progress: 583893
progress: 583898