PHP/resource/stream: Difference between revisions
from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Created page with "{{fmt/title|stream resources in PHP}} ==About== Although there are a lot of functions that handle streams in PHP, how to properly use these functions is often not explained ve..." |
No edit summary |
||
| Line 1: | Line 1: | ||
{{fmt/title|stream | {{fmt/title|stream-type "resource" demiobjects in PHP}} | ||
==About== | ==About== | ||
Although there are a lot of functions that handle streams in PHP, how to properly use these functions is often not explained very well. I'm having to reverse-engineer a lot through trial and error. | Although there are a lot of functions that handle streams in PHP, how to properly use these functions is often not explained very well. I'm having to reverse-engineer a lot through trial and error. | ||
| Line 8: | Line 8: | ||
*** Does empty-string still correctly signal that the process has completed? | *** Does empty-string still correctly signal that the process has completed? | ||
*** What happens if the process has ''not'' completed (so there's no new data yet) -- how can we tell that there might be more? | *** What happens if the process has ''not'' completed (so there's no new data yet) -- how can we tell that there might be more? | ||
==Links== | |||
===Official=== | |||
* [https://www.php.net/manual/en/ref.stream.php Stream Functions] | |||
Revision as of 17:44, 10 February 2026
About
Although there are a lot of functions that handle streams in PHP, how to properly use these functions is often not explained very well. I'm having to reverse-engineer a lot through trial and error.
Tentative Conclusions
- If a stream is set to blocking mode (with
stream_set_blocking(Template:Arg, TRUE);), then EoS (end-of-stream) is indicated by the return of an empty string.- Questions about how it works in non-blocking mode:
- How do we detect EoS in non-blocking mode?
- Does empty-string still correctly signal that the process has completed?
- What happens if the process has not completed (so there's no new data yet) -- how can we tell that there might be more?
- Questions about how it works in non-blocking mode:
