php_stream_copy_to_mem() allocates a buffer maxlen
+1
bytes in length using pemalloc() (passing persistent
).
It then reads maxlen
bytes from src
and stores
them in the allocated buffer.
The allocated buffer is returned in buf
, and the number of bytes successfully
read. You, the caller, are responsible for freeing the buffer by passing it and persistent
to pefree().
If you want to copy all remaining data from the src
stream, pass the
constant PHP_STREAM_COPY_ALL as the value of maxlen
.
Note: This function will attempt to copy the data in the most efficient manner, using memory mapped files when possible.