gravitymedia / stream
Stream is an object oriented library for reading and writing binary streams in PHP.
Requires
- php: ^5.6 || ^7.0
Requires (Dev)
- phing/phing: ^2.14
- phpunit/phpunit: ^5.3
- sami/sami: ^3.2
- scrutinizer/ocular: ^1.3
- symfony/finder: ^2.8
This package is auto-updated.
Last update: 2023-03-27 01:18:09 UTC
README
Stream is an object oriented library for reading and writing binary streams in PHP.
Requirements
This library has the following requirements:
- PHP 5.6+
Installation
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
Usage
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;
Testing
Clone this repository, install Composer and all dependencies:
$ php composer.phar install
Run the test suite:
$ php vendor/bin/phing test
Generating documentation
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
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.