PHP Manual
Prev |  | Next

# php_stream_copy_to_mem

php_stream_copy_to_mem -- Copy data from stream and into an allocated buffer

## Description

size_t php_stream_copy_to_mem ( php_stream * src, char ** buf, size_t maxlen, int persistent )

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.

Prev | Home | Next
php_stream_copy_to_stream | Up | php_stream_make_seekable