yanli0303/yii-uploaded-file

This package is abandoned and no longer maintained. No replacement package was suggested.

A wrapper for CUploadedFile class of PHP Yii framework.

v0.1 2015-03-06 08:47 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:45:56 UTC


README

By Yan Li

Build Status Coverage Status License PayPayl donate button

A wrapper for CUploadedFile class of PHP Yii framework. It adds following help methods to CUploadedFile class:

  • isExtensionInList($extensions)
  • isMimeTypeInList($mimeTypes)
  • isImageTypeInList($imageTypes)
  • validateImageDimensions($maxWidth, $maxHeight, $minWidth, $minHeight)
  • validate($maxFileBytes, $allowedExtensions, $allowedMimeTypes)
  • validateImage($maxFileBytes, $allowedExtensions, $allowedImageTypes, $maxWidth = null, $maxHeight = null, $minWidth = null, $minHeight = null)
  • saveImage($saveAs, $pngToJpg = false)

Usage

$maxBytes = 4194304; //4 * 1024 * 1024 = 4MB
$allowedExtensions = array('.png', '.jpg', '.jpeg');
$allowedTypes = array(IMAGETYPE_JPEG, IMAGETYPE_PNG);

$uploaded = new UploadedFile('file');
$error = $uploaded->validateImage($maxBytes, $allowedExtensions, $allowedTypes);
if (is_string($error)) {
    throw new Exception($error);
}

$saveAs = '/webroot/uploads/images/'.basename($uploaded->file->getName());
$saved = $uploaded->saveImage($saveAs, false);
if (empty($saved)) {
    throw new Exception('Sorry, we couldn\'t upload the image.');
}

// do sth with saved image: $saved