This package is abandoned and no longer maintained. No replacement package was suggested.

Stream is an object oriented library for reading and writing binary streams in PHP.

dev-master / 1.0.x-dev 2016-07-11 18:59 UTC

This package is auto-updated.

Last update: 2023-03-27 01:18:09 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads Dependency Status

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.