nur-sery/src/os/file/TempStream.php

18 lines
598 B
PHP

<?php
namespace nur\sery\os\file;
/**
* Class TempStream: un flux qui peut être lu ou écrit, et qui reste en mémoire,
* jusqu'à ce que la taille des données atteint {@link self::MAX_MEMORY} et à
* ce moment-là un fichier temporaire est automatiquement créé.
*/
class TempStream extends Stream {
const MAX_MEMORY = 2 * 1024 * 1024;
function __construct(?int $maxMemory=null, bool $throwOnError=true) {
if ($maxMemory === null) $maxMemory = static::MAX_MEMORY;
$fd = fopen("php://temp/maxmemory:$maxMemory", "w+b");
parent::__construct($fd, true, $throwOnError);
}
}