Note that in the example when it says "Send file with approximately 20 kbyte/s." that is only an upper bound. The file could still be sent at a lesser speed (e.g. 10 kb/s) if the client, network, or server, cannot handle the amount.
http_throttle
(PECL pecl_http >= 0.10.0)
http_throttle — HTTP throttling
Descrierea
void http_throttle
( float
$sec
[, int $bytes = 40960
] )Sets the throttle delay and send buffer size.
Notă: Această funcție ar trebui să fie utilizată împreună cu http_send_data(), http_send_file() și http_send_stream().
Notă: Oferă un mecanism de limitare de bază, care va suspenda procesul sau firul de execuție curent până când entitatea nu este transmisă deplin.
Notă:
Aceasta poate să nu funcționeze conform așteptărilor cu următoarele SAPI(uri): FastCGI.
Parametri
-
sec -
seconds to sleep after each chunk sent
-
bytes -
the chunk size in bytes
Exemple
Example #1 A http_throttle() example
Send file with approximately 20 kbyte/s.
<?php
// ~ 20 kbyte/s
# http_throttle(1, 20000);
# http_throttle(0.5, 10000);
http_throttle(0.1, 2000);
http_send_file('document.pdf');
?>
Vedeți de asemenea
- http_send_data() - Send arbitrary data
- http_send_file() - Send file
- http_send_stream() - Send stream
- clasa HttpResponse dacă utilizați PHP 5.1.0 sau ulterior
dr dot sane at gmail dot com ¶
2 years ago
