* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class MultipartStream extends StringStream implements \Countable, \IteratorAggregate { /** @var array */ protected $parts; /** * @param array $files * @param array $post */ public function __construct(array $files, array $post) { parent::__construct(''); $this->parts = []; foreach ($files as $name => $file) { if (isset($file['tmp_name']) && is_uploaded_file($file['tmp_name'])) { $this->parts[$name] = new FileStream( new LazyStream($file['tmp_name'], 'rb'), $file['tmp_name'], $file['name'], $file['type'], $file['size'], $file['error'] ); } } foreach ($post as $name => $value) { if (!isset($this->parts[$name])) { $this->parts[$name] = $value; } } } /** * @param string $name * @return \PSX\Http\Stream\FileStream|string|null */ public function getPart($name) { return $this->parts[$name] ?? null; } /** * @return integer */ public function count() { return count($this->parts); } /** * @return \Traversable */ public function getIterator() { return new \ArrayIterator($this->parts); } } __halt_compiler();----SIGNATURE:----ieF5sM5jxcS+ebI1MZvCjhkuFYkKRLwfx+CAgnJV1WovBFskRj0zmJn1AlONPZcEdnzLHGdpalQFuSMS4xEvyayUPDQRCwAxVqu/pCgoxcRjBx2RDk2wfjpOlgc5dDCO++ooItbfWN0RcscEzniTER9orRLMag1Opr7MJvIPCZB0a7Xaim9dJdWGsLsvt0+oA+/ff+jiQHxk1PUNloXjOmn1wYk125VFRsteNtxV7ppbUl3D9jsEIgywO1NBw54oXmGQC/8hCjP2FJUTu5d1yWCpyg49AdIeyXi4MClSk0SvdJqsA6Km5NMNUBEa/UPbk8auNv8lleprJ7hmLqps7W5FLmLSe5nQ3W1bF1I3g+hYb319mSMVfgpSsmDeIVPCl4c42l4bBn1Ozu7EVp/SaTdi1f2miHRcAuWOlCZVCiqRG4NGhrsEXB0aNpjTHQRASWAenjjZdfXVpW3K4ZJZZzaFQr8qJNGDIR866/f6TQVKurVeOuMv2h375nlREpD5hgirMNvwASYT6hjMnNz68adKPIeweRpItz1G2L9vD/jn2mfZTu5yode2CRaxiqbpntLK7t2cAVdvyCn/NSo1WIYy4M3hZG/0LG5xb9XySljnkKVxR7ja6DhP0PbBvhxpp/S/fgVb/Q0VF8aoJn1yCsmlkImAvrd23FgKVwbegCI=----ATTACHMENT:----MTY1ODUyOTg1NzcyMjAzNiAxNjQzOTM5NDk5MzgyNjAgMzg1ODM4NTUzMzg0MjY3Mg==