本文整理汇总了PHP中CUploadedFile::getSize方法的典型用法代码示例。如果您正苦于以下问题:PHP CUploadedFile::getSize方法的具体用法?PHP CUploadedFile::getSize怎么用?PHP CUploadedFile::getSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CUploadedFile
的用法示例。
在下文中一共展示了CUploadedFile::getSize方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: beforeSave
protected function beforeSave()
{
if (parent::beforeSave()) {
if ($this->getIsNewRecord()) {
$this->status = self::STATUS_WAIT;
$this->createdAt = date('Y-m-d H:i:s');
$basePath = Yii::getPathOfAlias('application.runtime') . '/tmp/payout';
if (!file_exists($basePath)) {
mkdir($basePath, 0777, true);
}
$path = $basePath . '/' . md5(time() . $this->file->getName());
$this->filePath = $path;
$this->fileName = $this->file->getName();
$this->fileSize = $this->file->getSize();
$this->file->saveAs($path);
}
$this->modifiedAt = date('Y-m-d H:i:s');
return true;
}
return false;
}
示例2: save
/**
* Saves a new image.
* @param CUploadedFile $file the uploaded image.
* @param CActiveRecord $owner the owner model.
* @param string $name the image name. Available since 1.2.0
* @param string $path the path to save the file to. Available since 1.2.1.
* @return Image the image model.
* @throws CException if saving the image fails.
*/
public function save($file, $name = null, $path = null)
{
$trx = Yii::app()->db->beginTransaction();
try {
$image = new Image();
$image->extension = strtolower($file->getExtensionName());
$image->filename = $file->getName();
$image->byteSize = $file->getSize();
$image->mimeType = $file->getType();
$image->createTime = new CDbExpression('NOW()');
if (empty($name)) {
$name = $file->getName();
$name = substr($name, 0, strrpos($name, '.'));
}
$image->name = $this->normalizeString($name);
if ($path !== null) {
$image->path = trim($path, '/');
}
if ($image->save() === false) {
throw new CException(__CLASS__ . ': Failed to save image! Record could not be saved.');
}
$path = $this->resolveImagePath($image);
if (!file_exists($path) && !$this->createDirectory($path)) {
throw new CException(__CLASS__ . ': Failed to save image! Directory could not be created.');
}
$path .= $this->resolveFileName($image);
if ($file->saveAs($path) === false) {
throw new CException(__CLASS__ . ': Failed to save image! File could not be saved.');
}
$trx->commit();
return $image;
} catch (CException $e) {
$trx->rollback();
throw $e;
}
}
示例3: validateFile
/**
* Internally validates a file object.
* @param CModel $object the object being validated
* @param string $attribute the attribute being validated
* @param CUploadedFile $file uploaded file passed to check against a set of rules
* @throws CException if failed to upload the file
*/
protected function validateFile($object, $attribute, $file)
{
if (null === $file || ($error = $file->getError()) == UPLOAD_ERR_NO_FILE) {
return $this->emptyAttribute($object, $attribute);
} elseif ($error == UPLOAD_ERR_INI_SIZE || $error == UPLOAD_ERR_FORM_SIZE || $this->maxSize !== null && $file->getSize() > $this->maxSize) {
$message = $this->tooLarge !== null ? $this->tooLarge : Yii::t('yii', 'The file "{file}" is too large. Its size cannot exceed {limit} bytes.');
$this->addError($object, $attribute, $message, array('{file}' => $file->getName(), '{limit}' => $this->getSizeLimit()));
} elseif ($error == UPLOAD_ERR_PARTIAL) {
throw new CException(Yii::t('yii', 'The file "{file}" was only partially uploaded.', array('{file}' => $file->getName())));
} elseif ($error == UPLOAD_ERR_NO_TMP_DIR) {
throw new CException(Yii::t('yii', 'Missing the temporary folder to store the uploaded file "{file}".', array('{file}' => $file->getName())));
} elseif ($error == UPLOAD_ERR_CANT_WRITE) {
throw new CException(Yii::t('yii', 'Failed to write the uploaded file "{file}" to disk.', array('{file}' => $file->getName())));
} elseif (defined('UPLOAD_ERR_EXTENSION') && $error == UPLOAD_ERR_EXTENSION) {
// available for PHP 5.2.0 or above
throw new CException(Yii::t('yii', 'A PHP extension stopped the file upload.'));
}
if ($this->minSize !== null && $file->getSize() < $this->minSize) {
$message = $this->tooSmall !== null ? $this->tooSmall : Yii::t('yii', 'The file "{file}" is too small. Its size cannot be smaller than {limit} bytes.');
$this->addError($object, $attribute, $message, array('{file}' => $file->getName(), '{limit}' => $this->minSize));
}
if ($this->types !== null) {
if (is_string($this->types)) {
$types = preg_split('/[\\s,]+/', strtolower($this->types), -1, PREG_SPLIT_NO_EMPTY);
} else {
$types = $this->types;
}
if (!in_array(strtolower($file->getExtensionName()), $types)) {
$message = $this->wrongType !== null ? $this->wrongType : Yii::t('yii', 'The file "{file}" cannot be uploaded. Only files with these extensions are allowed: {extensions}.');
$this->addError($object, $attribute, $message, array('{file}' => $file->getName(), '{extensions}' => implode(', ', $types)));
}
}
if ($this->mimeTypes !== null) {
if (function_exists('finfo_open')) {
$mimeType = false;
if ($info = finfo_open(defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME)) {
$mimeType = finfo_file($info, $file->getTempName());
}
} elseif (function_exists('mime_content_type')) {
$mimeType = mime_content_type($file->getTempName());
} else {
throw new CException(Yii::t('yii', 'In order to use MIME-type validation provided by CFileValidator fileinfo PECL extension should be installed.'));
}
if (is_string($this->mimeTypes)) {
$mimeTypes = preg_split('/[\\s,]+/', strtolower($this->mimeTypes), -1, PREG_SPLIT_NO_EMPTY);
} else {
$mimeTypes = $this->mimeTypes;
}
if ($mimeType === false || !in_array(strtolower($mimeType), $mimeTypes)) {
$message = $this->wrongMimeType !== null ? $this->wrongMimeType : Yii::t('yii', 'The file "{file}" cannot be uploaded. Only files of these MIME-types are allowed: {mimeTypes}.');
$this->addError($object, $attribute, $message, array('{file}' => $file->getName(), '{mimeTypes}' => implode(', ', $mimeTypes)));
}
}
}
示例4: validateFile
/**
* Internally validates a file object.
*
* @param CModel $object the object being validated
* @param string $attribute the attribute being validated
* @param CUploadedFile $file uploaded file passed to check against a set of rules
*/
protected function validateFile($object, $attribute, $file)
{
if (null === $file || ($error = $file->getError()) == UPLOAD_ERR_NO_FILE) {
return $this->emptyAttribute($object, $attribute);
} else {
if ($error == UPLOAD_ERR_INI_SIZE || $error == UPLOAD_ERR_FORM_SIZE || $this->maxSize !== null && $file->getSize() > $this->maxSize) {
$message = $this->tooLarge !== null ? $this->tooLarge : Yii::t('yii', 'The file "{file}" is too large. Its size cannot exceed {limit} bytes.');
$this->addError($object, $attribute, $message, array('{file}' => $file->getName(), '{limit}' => $this->getSizeLimit()));
} else {
if ($error == UPLOAD_ERR_PARTIAL) {
throw new CException(Yii::t('yii', 'The file "{file}" was only partially uploaded.', array('{file}' => $file->getName())));
} else {
if ($error == UPLOAD_ERR_NO_TMP_DIR) {
throw new CException(Yii::t('yii', 'Missing the temporary folder to store the uploaded file "{file}".', array('{file}' => $file->getName())));
} else {
if ($error == UPLOAD_ERR_CANT_WRITE) {
throw new CException(Yii::t('yii', 'Failed to write the uploaded file "{file}" to disk.', array('{file}' => $file->getName())));
} else {
if (defined('UPLOAD_ERR_EXTENSION') && $error == UPLOAD_ERR_EXTENSION) {
throw new CException(Yii::t('yii', 'File upload was stopped by extension.'));
}
}
}
}
}
}
if ($this->minSize !== null && $file->getSize() < $this->minSize) {
$message = $this->tooSmall !== null ? $this->tooSmall : Yii::t('yii', 'The file "{file}" is too small. Its size cannot be smaller than {limit} bytes.');
$this->addError($object, $attribute, $message, array('{file}' => $file->getName(), '{limit}' => $this->minSize));
}
if ($this->types !== null) {
if (is_string($this->types)) {
$types = preg_split('/[\\s,]+/', strtolower($this->types), -1, PREG_SPLIT_NO_EMPTY);
} else {
$types = $this->types;
}
if (!in_array(strtolower($file->getExtensionName()), $types)) {
$message = $this->wrongType !== null ? $this->wrongType : Yii::t('yii', 'The file "{file}" cannot be uploaded. Only files with these extensions are allowed: {extensions}.');
$this->addError($object, $attribute, $message, array('{file}' => $file->getName(), '{extensions}' => implode(', ', $types)));
}
}
}
示例5: setUploadedFile
public function setUploadedFile(CUploadedFile $cUploadedFile)
{
$this->file_name = $cUploadedFile->getName();
$this->mime_type = $cUploadedFile->getType();
$this->size = $cUploadedFile->getSize();
$this->cUploadedFile = $cUploadedFile;
}
示例6: isAllowedSize
/**
* @param CUploadedFile $image
* @return bool
*/
public static function isAllowedSize(CUploadedFile $image)
{
return $image->getSize() <= EventsImagesConfig::get('maxFileSize');
}
示例7: isAllowedSize
/**
* @param CUploadedFile $file
* @return bool
*/
public static function isAllowedSize(CUploadedFile $file)
{
return $file->getSize() <= PlayerFilesConfig::get('maxFileSize');
}
示例8: beforeSave
protected function beforeSave()
{
if ($this->isNewRecord) {
$this->med_created = date('Y-m-d H:i:s');
if (!$this->med_row) {
throw new CDbException('Cant save the media if it does not belong to any record');
}
$sql = "SELECT IF(MAX(med_order) IS NOT NULL, MAX(med_order), 0) as max_ord FROM " . $this->tableName() . " WHERE med_row = '" . $this->med_row . "' AND med_type = '" . $this->med_type . "'";
$command = Yii::app()->db->createCommand($sql);
$result = $command->queryRow();
$this->med_order = $result['max_ord'] + 1;
}
if ($this->file) {
$this->med_type = isset($this->otherMedia) && $this->otherMedia ? $this->otherMedia : self::TYPE_PHOTO;
$fileTempName = $this->file->tempName;
list($imgWidth, $imgHeight, $type, $attr) = getimagesize($fileTempName);
if (strtolower($this->file->extensionName) == 'gif' && $imgHeight * $imgWidth > self::MAX_AVAILABLE_GIF_PIXEL_COUNT) {
$this->addError('file', 'Sorry, but GIF image is too large!');
return false;
}
$fileName = $this->generateUniqFileName();
$this->med_realname = $this->file->getName();
$this->med_filetype = $this->file->getType();
$this->med_filesize = $this->file->getSize();
$ext = $this->file->getExtensionName();
$extension = '.' . $ext;
$filePath = $this->getLocalPath();
$this->med_file = $fileName . $extension;
/** @var $imageTool \upload */
$imageTool = Yii::app()->imagemod->load($fileTempName);
$imageTool->file_new_name_body = $fileName;
$imageTool->file_new_name_ext = $ext;
$imageTool->process($filePath);
$imageDimType = null;
if ($imgHeight > $imgWidth) {
//vertical image
$imageDimType = 'vertical';
if ($imgHeight > $this->resizeHeight) {
$imageTool = $this->resizeImageTool($imageTool, $imageDimType, $this->resizeHeight);
}
} else {
//horizontal image
$imageDimType = 'horizontal';
if ($imgWidth > $this->resizeWidth) {
$imageTool = $this->resizeImageTool($imageTool, $imageDimType, $this->resizeWidth);
}
}
$imageTool->file_new_name_body = $fileName . self::SUFFIX_ORIGINAL;
$imageTool->file_new_name_ext = $ext;
$imageTool->process($filePath);
/*floorplan OR epc*/
if (isset($this->otherMedia) && $this->otherMedia) {
foreach ($this->otherMediaSizes as $suffix => $sizes) {
if ($imageDimType == 'vertical' && $imgHeight > $sizes['h']) {
$imageTool->image_resize = true;
$imageTool->image_ratio_x = true;
$imageTool->image_y = $sizes['h'];
} else {
if ($imageDimType == 'horizontal' && $imgWidth > $sizes['w']) {
$imageTool->image_resize = true;
$imageTool->image_ratio_y = true;
$imageTool->image_x = $sizes['w'];
}
}
$imageTool->file_new_name_body = $fileName . $suffix;
$imageTool->file_new_name_ext = $ext;
$imageTool->process($filePath);
}
} else {
// photograph
$croppedFilePath = '';
if (isset($this->cropFactor['w'])) {
$imageTool->image_ratio_crop = true;
$cropWidth = $this->cropFactor['w'] * $imgWidth / $this->cropFactor['width'];
$top = $this->cropFactor['y'] * $imgHeight / $this->cropFactor['height'];
$left = $this->cropFactor['x'] * $imgWidth / $this->cropFactor['width'];
$right = $imgWidth - ($left + $cropWidth);
$bottom = $imgHeight - ($top + $cropWidth);
$imageTool->image_crop = array($top, $right, $bottom, $left);
$imageTool->file_new_name_body = $fileName . '_crop';
$imageTool->file_new_name_ext = $ext;
$imageTool->process($filePath);
// Load cropped file and resize
$croppedFilePath = $filePath . '/' . $fileName . '_crop' . $extension;
$imageTool = Yii::app()->imagemod->load($croppedFilePath);
}
foreach ($this->photoCropSizes as $suffix => $sizes) {
if ($suffix != '_original') {
if ($imageDimType == 'vertical') {
//horizontal image
if (!isset($this->cropFactor['h'])) {
$imageTool->image_ratio_crop = true;
$top = $bottom = 0;
$left = $right = ($imgWidth * $sizes['h'] / $imgHeight - $sizes['w']) / 2 + 1;
$imageTool->image_crop = array($top, $right, $bottom, $left);
}
$imageTool->image_resize = true;
$imageTool->image_y = $sizes['h'];
$imageTool->image_ratio_x = true;
} else {
//.........这里部分代码省略.........
示例9: setSession
/**
*
* @param CUploadedFile $fileInstance
* @param String $filekey
*
*/
protected function setSession($fileInstance, $name, $sysname, $path, $filekey)
{
$sessionData = array('key' => $filekey, 'fullSize' => $fileInstance->getSize(), 'path' => $path, 'name' => $name, 'systemname' => $sysname);
Yii::app()->user->setState('upload_' . $filekey, json_encode($sessionData));
return true;
}
示例10: isAllowedSize
/**
* @param CUploadedFile $image
* @return bool
*/
public static function isAllowedSize(CUploadedFile $image)
{
$config = Yii::app()->settings->get('shop');
return $image->getSize() <= $config['maxFileSize'];
}
示例11: isAllowedSize
/**
* @param CUploadedFile $image
* @return bool
*/
public static function isAllowedSize(CUploadedFile $image)
{
//return ($image->getSize() <= Yii::app()->params['storeImages']['maxFileSize']);
return $image->getSize() <= StoreImagesConfig::get('maxFileSize');
}
示例12: _uploadImage
private function _uploadImage(CUploadedFile $file)
{
$result = array('name' => $file->getName(), 'size' => $file->getSize(), 'tmpName' => $file->getTempName());
if ($file->hasError) {
$result['error'] = $file->getError();
}
return $result;
}