* @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:----L4hLl0ArDSiTeS/wKBuCnS4aq/ZdSapq0LHgi9drwoSPeIXaYHe6aNDQesram76MLPHvMRehpBk5NNaI8tHAShLM/Jm4+VN654h3TULFmX+RbbNKFAJi989v+OMu+G4v3L7rjaPqCcUVFKvlMKoGOMLCcopbupuvOPTxDz6HbzdQmjpjEzwwdj2ZLxvgb0p8y1t7CRcQGW5qzPQBnGnzF6S//PH22KlKAn8ecZ7NTwNnsTyG+iMnsnjGxhdwvnZ8A682BR9Xkx3nKiV24ZZ5H6e3jSPN6dH2N/6WwCq9uwSeHr94N3dMGwdbW4amx+SeVs8ob05BdGi9op7jsjht8RzhYV/jLATIHrSjd8QtAapKLYzT28xA1A1jMIJNIrQqtsJJc+MO7hBjdy3qDZ4PXq3gJAcVw2+jgGJOfi55vbkyiUCSA+5+PWnRF+CzyTGlbc2av09nmHyXy1K7FcR5p5kZBd41mOO9wYezUQcL/jnq1XhOteMjucpiQZCV2yyFAjh1mOyaMgG6qrJ44JunLCn+Dlosr+6XOwsQMdtaKupH47BjCRhQtrPr+5l6YASSKSTa3qIzYB9pOb4SuuvgdkA8XRMvnoS7ZPMIWYCuHpY4fJgVgCGUqc6erVCbZ+eom8y2TBegq2Vp+GYR7yJWYYLeiX9xA/O7u7tYCXDjiJA=----ATTACHMENT:----MzQ2MzI3NjI1NjIzODMwNSAxNDg3NDI3MTQxMzQ3MTAwIDcyODc1OTQxNTc4NDgxNTQ=