Open Journal Systems  3.3.0
base64_encode.php
1 <?php
2 
3 // $ echo test | php examples/base64_encode.php | base64 --decode
4 
5 require __DIR__ . '/../vendor/autoload.php';
6 
7 // encoding requires buffering in chunks of 3 bytes each
8 $buffer = '';
9 Clue\StreamFilter\append(STDIN, function ($chunk = null) use (&$buffer) {
10  if ($chunk === null) {
11  return base64_encode($buffer);
12  }
13  $buffer .= $chunk;
14  $len = strlen($buffer) - (strlen($buffer) % 3);
15  $chunk = substr($buffer, 0, $len);
16  $buffer = substr($buffer, $len);
17 
18  return base64_encode($chunk);
19 }, STREAM_FILTER_READ);
20 
21 fpassthru(STDIN);
Clue\StreamFilter\append
append($stream, $callback, $read_write=STREAM_FILTER_ALL)
Definition: clue/stream-filter/src/functions.php:17