Stream is an object oriented library for reading and writing binary streams in PHP.
This library has the following requirements:
- PHP 5.6+
Install Composer in your project:
$ curl -s https://getcomposer.org/installer | php
Add the package to your composer.json
and install it via Composer:
$ php composer.phar require gravitymedia/stream
This is a simple usage example for character streams but is applicable for binary data streams.
require 'vendor/autoload.php';
use GravityMedia\Stream\Stream;
// create resource
$resource = fopen('php://temp', 'r+');
// create new stream object
$stream = Stream::fromResource($resource);
// write some data
$stream->write("\x63\x6f\x6e\x74\x65\x6e\x74\x73");
// seek a position
$stream->seek(4);
// print 32 bit unsigned integer
print $stream->readUInt32() . PHP_EOL;
// rewind stream
$stream->rewind();
// print the data previously written
while (!$stream->eof()) {
print $stream->read(1);
}
print PHP_EOL;
// print position
print $stream->tell() . PHP_EOL;
// rewind stream
$stream->rewind();
// truncate random data
$stream->truncate(7);
// print the truncated data
while (!$stream->eof()) {
print $stream->read(1);
}
print PHP_EOL;
Clone this repository, install Composer and all dependencies:
$ php composer.phar install
Run the test suite:
$ php vendor/bin/phing test
Clone this repository, install Composer and all dependencies:
$ php composer.phar install
Generate the documentation to the build/docs
directory:
$ php vendor/bin/phing doc
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.