Финальный класс Phalcon\Http\Message\UploadedFile

Source on GitHub

Пространства имен Phalcon\Http\Message
Использует Phalcon\Helper\Number, Phalcon\Helper\Arr, Phalcon\Helper\Str, Phalcon\Http\Message\Exception\InvalidArgumentException, Psr\Http\Message\StreamInterface, Psr\Http\Message\UploadedFileInterface, RuntimeException
Реализует UploadedFileInterface

PSR-7 UploadedFile

Свойства

/**
 * Если файл уже был перемещен, мы сохраняем этот статус здесь
 *
 * @var bool
 */
private alreadyMoved = false;

/**
 * Получить имя файла, отправленное клиентом.
 *
 * Не доверяйте значению, возвращенному этим методом. 
 * Клиент может отправить вредоносное имя файла с намерением испортить 
 * или взломать ваше приложение.
 *
 * Реализации ДОЛЖНЫ возвращать значение, хранящееся в ключе 'name' 
 * файла в массиве $ _FILES.
 *
 * @var string | null
 */
private clientFilename;

/**
 * Получить тип носителя, отправленный клиентом.
 *
 * Не доверяйте значению, возвращенному этим методом. Клиент 
 * может отправить вредоносный тип носителя с намерением 
 * испортить или взломать ваше приложение.
 *
 * Реализации ДОЛЖНЫ возвращать значение, хранящееся в ключе 'type' 
 * файла в массиве $ _FILES.
 *
 * @var string | null
 */
private clientMediaType;

/**
 * Получить ошибку, связанную с загруженным файлом.
 *
 * Возвращаемое значение ДОЛЖНО быть одной из констант PHP UPLOAD_ERR_XXX.
 *
 * Если файл был успешно загружен, этот метод ДОЛЖЕН вернуть
 * UPLOAD_ERR_OK.
 *
 * Реализации ДОЛЖНЫ возвращать значение, хранящееся в ключе
 * 'error' файла в массиве $ _FILES.
 *
 * @see http://php.net/manual/en/features.file-upload.errors.php
 *
 * @var int
 */
private error = 0;

/**
 * Если поток является строкой (именем файла), мы сохраняем ее здесь
 *
 * @var string
 */
private fileName = ;

/**
 * Получить размер файла.
 *
 * Реализации ДОЛЖНЫ возвращать значение, хранящееся в ключе 'size'
 * файла в массиве $ _FILES, если оно доступно, поскольку PHP рассчитывает его
 * на основе фактического переданного размера.
 *
 * @var int | null
 */
private size;

/**
 * Содержит поток / строку для загруженного файла
 *
 * @var StreamInterface|string|null
 */
private stream;

Методы

public function __construct( 
			mixed $stream, int $size = null, 
			int $error = int, string $clientFilename = null, 
			string $clientMediaType = null 
			);

 Конструктор

public function getClientFilename(): string | null

 

public function getClientMediaType(): string | null

 

public function getError(): int

 

public function getSize(): int | null

 

public function getStream(): mixed;

Получить поток, представляющий загруженный файл.

Этот метод ДОЛЖЕН возвращать экземпляр StreamInterface, представляющий загруженный файл. Цель этого метода состоит в том, чтобы позволить использовать встроенную функциональность потока PHP для управления загрузкой файла, такую ​​как stream_copy_to_stream () (хотя результат должен быть оформлен в встроенной оболочке потока PHP для работы с такими функциями).

Если метод moveTo () был вызван ранее, этот метод ДОЛЖЕН вызвать исключение.

public function moveTo( mixed $targetPath ): void;

Переместите загруженный файл в новое место.

Используйте этот метод в качестве альтернативы move_uploaded_file (). Этот метод гарантированно работает как в SAPI, так и в других средах. Реализации должны определить, в какой среде они находятся, и использовать соответствующий метод (move_uploaded_file (), rename () или потоковую операцию) для выполнения операции.

$ targetPath может быть абсолютным или относительным путем. Если это относительный путь, разрешение должно быть таким же, как и в PHP-функции rename ().

Исходный файл или поток ДОЛЖНЫ быть удалены по завершении.

Если этот метод вызывается более одного раза, любые последующие вызовы ДОЛЖНЫ вызывать исключение.

При использовании в среде SAPI, где заполняется $ _FILES, при записи файлов с помощью moveTo () следует использовать is_uploaded_file () и move_uploaded_file (), чтобы гарантировать правильность проверок прав доступа и статуса загрузки.

Если вы хотите перейти к потоку, используйте getStream (), так как операции SAPI не могут гарантировать запись в места назначения потока.

@see http://php.net/is_uploaded_file @see http://php.net/move_uploaded_file