1. Go to this page and download the library: Download talesoft/tale-stream library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
talesoft / tale-stream example snippets
use function Tale\stream;
$stream = stream(fopen('/some/file', 'rb+'));
if ($stream->isReadable()) {
$contents = $stream->read(100);
}
if ($stream->isWritable()) {
$stream->write('Some Content');
}
$stream->close();
use Psr\Http\Message\StreamFactoryInterface;
use Tale\StreamFactory;
$container->add(StreamFactory::class);
// ...
$streamFactory = $container->get(StreamFactoryInterface::class);
$stream = $streamFactory->createStreamFromFile('./some-file.txt', 'rb');
echo $stream; // "<contents of some-file.txt>"
use function Tale\stream_file;
$stream = stream_file('./some-file.txt', 'rb');
echo $stream->getContents(); // "<contents of some-file.txt>"
use function Tale\stream_memory;
$stream = stream_memory('Some Content!');
echo $stream->getContents(); // "Some Content!"
use function Tale\stream_memory;
$stream = stream_temp('Some Content!', 1024);
// Stream will start swapping after 1024 bytes
use function Tale\stream_input;
$stream = stream_input();
$data = json_decode($stream->getContents());
echo $data['firstName'];
use function Tale\stream_output;
$stream = stream_output();
$stream->write('<h1>This will be sent to the browser</h1>');
use function Tale\stream_stdin;
$stream = stream_stdin();
echo $stream->getContents(); // "<piped input>"
use function Tale\stream_stderr;
$stream = stream_stderr();
$stream->write('Error: Something bad happened');
use function Tale\stream_stdout;
$stream = stream_stdout();
$stream->write("Working...please wait...\n");
use function Tale\stream_null;
$stream = stream_null();
echo $stream->read(100); // Will always return an empty string
use function Tale\stream_memory;
use function Tale\stream_read;
$stream = stream_memory('abcdefg');
$iterator = stream_read($stream, 2); //Chunk size of 2
$chunks = iterator_to_array($iterator);
// You could alternatively iterate the iterator with foreach
dump($chunks); // ['ab', 'cd', 'ef', 'g']
use function Tale\stream_memory;
use function Tale\stream_get_lines;
$stream = stream_memory("Line 1\nLine 2\nLine 3");
$lines = stream_get_lines($stream);
dump(iterator_to_array($lines)); // ["Line 1", "Line 2", "Line 3"]
use function Tale\stream_memory;
use function Tale\stream_split;
$stream = stream_memory('a,b,c,d');
$items = stream_split($stream, ',');
dump(iterator_to_array($items)); // ['a', 'b', 'c', 'd']
use function Tale\stream_memory;
use function Tale\stream_write;
function generateLines()
{
yield "Line 1\n";
yield "Line 2\n";
yield "Line 3\n";
}
$stream = stream_memory();
$writer = stream_write($stream, generateLines());
$writtenBytes = $writer->writeAll();
// or use stream_write_all()
$writtenBytes = stream_write_all($stream, generateLines());
// You could also iterate the write to leave place for other actions
// e.g. in async environments
use function Tale\stream_memory;
use function Tale\stream_pipe;
$inputStream = stream_memory('Some content');
$outputStream = stream_memory();
$writer = stream_pipe($inputStream, $outputStream);
$writer->writeAll();
// or use stream_pipe_all()
$writtenBytes = stream_pipe_all($inputStream, $outputStream);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.