Re: How to write binary data to a file?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 27.07.2016 at 00:10, David Spector wrote:

> All I can find in the PHP Manual for writing raw bytes (unsigned
> integers) to a file is fwrite. But when I use it, it seems to write
> characters, not raw bytes. For example, the value 1 (0b1) is actually
> written as 0x31, not 0x01 as desired. […]

fwrite() accepts a string argument, and so other types are juggled to
string before they are written.

> It doesn't work this way in C or C++, and the PHP Manual says nothing
> about this.

Indeed.  A link to pack()[1] appears to be useful.  To write a byte
stream, you could use something like:

  fwrite($stream, pack('C*', 1, 2, 3));

[1] <http://php.net/manual/en/function.pack.php>

-- 
Christoph M. Becker

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux