/var/www/vhosts/nabawater/vendor/yiisoft/yii2/web
NameSizeModeActions
migrations/-0755rm
Application.php58360644editdlrm
AssetBundle.php86020644editdlrm
AssetConverter.php45990644editdlrm
AssetConverterInterface.php6980644editdlrm
AssetManager.php255860644editdlrm
BadRequestHttpException.php10770644editdlrm
CacheSession.php36730644editdlrm
CompositeUrlRule.php44820644editdlrm
ConflictHttpException.php8140644editdlrm
Controller.php97390644editdlrm
Cookie.php20020644editdlrm
CookieCollection.php80940644editdlrm
DbSession.php76280644editdlrm
ErrorAction.php60920644editdlrm
ErrorHandler.php191410644editdlrm
ForbiddenHttpException.php11260644editdlrm
GoneHttpException.php10730644editdlrm
GroupUrlRule.php46960644editdlrm
HeaderCollection.php72360644editdlrm
HeadersAlreadySentException.php7000644editdlrm
HtmlResponseFormatter.php10920644editdlrm
HttpException.php17600644editdlrm
IdentityInterface.php36610644editdlrm
JqueryAsset.php4590644editdlrm
JsExpression.php12530644editdlrm
JsonParser.php17310644editdlrm
JsonResponseFormatter.php46770644editdlrm
Link.php20780644editdlrm
Linkable.php11090644editdlrm
MethodNotAllowedHttpException.php8330644editdlrm
MultiFieldSession.php46140644editdlrm
MultipartFormDataParser.php122710644editdlrm
NotAcceptableHttpException.php10630644editdlrm
NotFoundHttpException.php8080644editdlrm
RangeNotSatisfiableHttpException.php12120644editdlrm
Request.php656150644editdlrm
RequestParserInterface.php6690644editdlrm
Response.php413540644editdlrm
ResponseFormatterInterface.php5430644editdlrm
ServerErrorHttpException.php8270644editdlrm
Session.php345780644editdlrm
SessionIterator.php19780644editdlrm
TooManyRequestsHttpException.php10190644editdlrm
UnauthorizedHttpException.php11530644editdlrm
UnprocessableEntityHttpException.php11200644editdlrm
UnsupportedMediaTypeHttpException.php10940644editdlrm
UploadedFile.php88360644editdlrm
UrlManager.php258720644editdlrm
UrlNormalizer.php51030644editdlrm
UrlNormalizerRedirectException.php17580644editdlrm
UrlRule.php217070644editdlrm
UrlRuleInterface.php12230644editdlrm
User.php331100644editdlrm
UserEvent.php12290644editdlrm
View.php237450644editdlrm
ViewAction.php47180644editdlrm
XmlResponseFormatter.php56670644editdlrm
YiiAsset.php5040644editdlrm
Edit: /var/www/vhosts/nabawater/vendor/yiisoft/yii2/web/UploadedFile.php (8836B)
* @since 2.0 */ class UploadedFile extends BaseObject { /** * @var string the original name of the file being uploaded */ public $name; /** * @var string the path of the uploaded file on the server. * Note, this is a temporary file which will be automatically deleted by PHP * after the current request is processed. */ public $tempName; /** * @var string the MIME-type of the uploaded file (such as "image/gif"). * Since this MIME type is not checked on the server-side, do not take this value for granted. * Instead, use [[\yii\helpers\FileHelper::getMimeType()]] to determine the exact MIME type. */ public $type; /** * @var int the actual size of the uploaded file in bytes */ public $size; /** * @var int an error code describing the status of this file uploading. * @see http://www.php.net/manual/en/features.file-upload.errors.php */ public $error; private static $_files; /** * String output. * This is PHP magic method that returns string representation of an object. * The implementation here returns the uploaded file's name. * @return string the string representation of the object */ public function __toString() { return $this->name; } /** * Returns an uploaded file for the given model attribute. * The file should be uploaded using [[\yii\widgets\ActiveField::fileInput()]]. * @param \yii\base\Model $model the data model * @param string $attribute the attribute name. The attribute name may contain array indexes. * For example, '[1]file' for tabular file uploading; and 'file[1]' for an element in a file array. * @return null|UploadedFile the instance of the uploaded file. * Null is returned if no file is uploaded for the specified model attribute. * @see getInstanceByName() */ public static function getInstance($model, $attribute) { $name = Html::getInputName($model, $attribute); return static::getInstanceByName($name); } /** * Returns all uploaded files for the given model attribute. * @param \yii\base\Model $model the data model * @param string $attribute the attribute name. The attribute name may contain array indexes * for tabular file uploading, e.g. '[1]file'. * @return UploadedFile[] array of UploadedFile objects. * Empty array is returned if no available file was found for the given attribute. */ public static function getInstances($model, $attribute) { $name = Html::getInputName($model, $attribute); return static::getInstancesByName($name); } /** * Returns an uploaded file according to the given file input name. * The name can be a plain string or a string like an array element (e.g. 'Post[imageFile]', or 'Post[0][imageFile]'). * @param string $name the name of the file input field. * @return null|UploadedFile the instance of the uploaded file. * Null is returned if no file is uploaded for the specified name. */ public static function getInstanceByName($name) { $files = self::loadFiles(); return isset($files[$name]) ? new static($files[$name]) : null; } /** * Returns an array of uploaded files corresponding to the specified file input name. * This is mainly used when multiple files were uploaded and saved as 'files[0]', 'files[1]', * 'files[n]'..., and you can retrieve them all by passing 'files' as the name. * @param string $name the name of the array of files * @return UploadedFile[] the array of UploadedFile objects. Empty array is returned * if no adequate upload was found. Please note that this array will contain * all files from all sub-arrays regardless how deeply nested they are. */ public static function getInstancesByName($name) { $files = self::loadFiles(); if (isset($files[$name])) { return [new static($files[$name])]; } $results = []; foreach ($files as $key => $file) { if (strpos($key, "{$name}[") === 0) { $results[] = new static($file); } } return $results; } /** * Cleans up the loaded UploadedFile instances. * This method is mainly used by test scripts to set up a fixture. */ public static function reset() { self::$_files = null; } /** * Saves the uploaded file. * Note that this method uses php's move_uploaded_file() method. If the target file `$file` * already exists, it will be overwritten. * @param string $file the file path used to save the uploaded file * @param bool $deleteTempFile whether to delete the temporary file after saving. * If true, you will not be able to save the uploaded file again in the current request. * @return bool true whether the file is saved successfully * @see error */ public function saveAs($file, $deleteTempFile = true) { if ($this->error == UPLOAD_ERR_OK) { if ($deleteTempFile) { return move_uploaded_file($this->tempName, $file); } elseif (is_uploaded_file($this->tempName)) { return copy($this->tempName, $file); } } return false; } /** * @return string original file base name */ public function getBaseName() { // https://github.com/yiisoft/yii2/issues/11012 $pathInfo = pathinfo('_' . $this->name, PATHINFO_FILENAME); return mb_substr($pathInfo, 1, mb_strlen($pathInfo, '8bit'), '8bit'); } /** * @return string file extension */ public function getExtension() { return strtolower(pathinfo($this->name, PATHINFO_EXTENSION)); } /** * @return bool whether there is an error with the uploaded file. * Check [[error]] for detailed error code information. */ public function getHasError() { return $this->error != UPLOAD_ERR_OK; } /** * Creates UploadedFile instances from $_FILE. * @return array the UploadedFile instances */ private static function loadFiles() { if (self::$_files === null) { self::$_files = []; if (isset($_FILES) && is_array($_FILES)) { foreach ($_FILES as $class => $info) { self::loadFilesRecursive($class, $info['name'], $info['tmp_name'], $info['type'], $info['size'], $info['error']); } } } return self::$_files; } /** * Creates UploadedFile instances from $_FILE recursively. * @param string $key key for identifying uploaded file: class name and sub-array indexes * @param mixed $names file names provided by PHP * @param mixed $tempNames temporary file names provided by PHP * @param mixed $types file types provided by PHP * @param mixed $sizes file sizes provided by PHP * @param mixed $errors uploading issues provided by PHP */ private static function loadFilesRecursive($key, $names, $tempNames, $types, $sizes, $errors) { if (is_array($names)) { foreach ($names as $i => $name) { self::loadFilesRecursive($key . '[' . $i . ']', $name, $tempNames[$i], $types[$i], $sizes[$i], $errors[$i]); } } elseif ((int) $errors !== UPLOAD_ERR_NO_FILE) { self::$_files[$key] = [ 'name' => $names, 'tempName' => $tempNames, 'type' => $types, 'size' => $sizes, 'error' => $errors, ]; } } }