Viewing file: UploadedFileFactory.php (1.14 KB) -rwxr-x--- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/** * Slim Framework (https://slimframework.com) * * @license https://github.com/slimphp/Slim-Psr7/blob/master/LICENSE.md (MIT License) */
declare(strict_types=1);
namespace Slim\Psr7\Factory;
use InvalidArgumentException; use Psr\Http\Message\StreamInterface; use Psr\Http\Message\UploadedFileFactoryInterface; use Psr\Http\Message\UploadedFileInterface; use Slim\Psr7\UploadedFile;
use function is_string;
use const UPLOAD_ERR_OK;
class UploadedFileFactory implements UploadedFileFactoryInterface { /** * {@inheritdoc} */ public function createUploadedFile( StreamInterface $stream, ?int $size = null, int $error = UPLOAD_ERR_OK, ?string $clientFilename = null, ?string $clientMediaType = null ): UploadedFileInterface { $file = $stream->getMetadata('uri');
if (!is_string($file) || !$stream->isReadable()) { throw new InvalidArgumentException('File is not readable.'); }
if ($size === null) { $size = $stream->getSize(); }
return new UploadedFile($stream, $clientFilename, $clientMediaType, $size, $error); } }
|