* @category Horde * @copyright 2012-2017 Horde LLC * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @package Stream */ class Horde_Stream_Temp extends Horde_Stream { /** * Constructor. * * @param array $opts Additional configuration options: *
* - max_memory: (integer) The maximum amount of memory to allocate to
* the PHP temporary stream.
*
*
* @throws Horde_Stream_Exception
*/
public function __construct(array $opts = array())
{
parent::__construct($opts);
}
/**
* @throws Horde_Stream_Exception
*/
protected function _init()
{
$cmd = 'php://temp';
if (isset($this->_params['max_memory'])) {
$cmd .= '/maxmemory:' . intval($this->_params['max_memory']);
}
if (($this->stream = @fopen($cmd, 'r+')) === false) {
throw new Horde_Stream_Exception('Failed to open temporary memory stream.');
}
}
}