Yii 1.1: uploadmultifiles

This is an extension used to upload multiple files at a time with multiple extensions
9 followers

...overview of the extension... Using this extension you can upload multiple files at a single time which can also contain multiple extensions.

Requirements

...requirements of using this extension (e.g. Yii 1.1 or above)...

Usage

...how to use this extension... 1.Extract this extension into your protected/extensions folder.. 2.In Your Main.php Copy This Code...

'import'=>array(
        'application.extensions.EAjaxUpload.*',
    ),

3.In your View page..

<?php
 $this->widget('ext.EAjaxUpload.EAjaxUpload',
array(
        'id'=>'uploadFile',
        'config'=>array(
               'action'=>Yii::app()->createUrl('site/upload'),
               'allowedExtensions'=>array("jpg","jpeg","gif","exe","mov","mp4","txt","doc","pdf","xls","3gp","php","ini","avi","rar","zip","png"),//array("jpg","jpeg","gif","exe","mov" and etc...
               'sizeLimit'=>1000*1024*1024,// maximum file size in bytes
               'minSizeLimit'=>1*1024,
               'auto'=>true,
               'multiple' => true,
               'onComplete'=>"js:function(id, fileName, responseJSON){ alert(fileName); }",
               'messages'=>array(
                                 'typeError'=>"{file} has invalid extension. Only {extensions} are allowed.",
                                'sizeError'=>"{file} is too large, maximum file size is {sizeLimit}.",
                                'minSizeError'=>"{file} is too small, minimum file size is {minSizeLimit}.",
                                'emptyError'=>"{file} is empty, please select files again without it.",
                                'onLeave'=>"The files are being uploaded, if you leave now the upload will be cancelled."
                               ),
               'showMessage'=>"js:function(message){ alert(message); }"
               )
 
               ));
?>

4.In Your Controller

public function actionUpload()
{
 
        Yii::import("ext.EAjaxUpload.qqFileUploader");
 
        $folder=Yii::getPathOfAlias('webroot').'/upload/';// folder for uploaded files
        $allowedExtensions = array("jpg","jpeg","gif","exe","mov","mp4");//array("jpg","jpeg","gif","exe","mov" and etc...
        $sizeLimit = 100 * 1024 * 1024;// maximum file size in bytes
        $uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
        $result = $uploader->handleUpload($folder);
        $return = htmlspecialchars(json_encode($result), ENT_NOQUOTES);
 
        $fileSize=filesize($folder.$result['filename']);//GETTING FILE SIZE
        $fileName=$result['filename'];//GETTING FILE NAME
        //$img = CUploadedFile::getInstance($model,'image');
 
        echo $return;// it's array
}

5.This will work like charm if not check your php.ini file and increase your post_max_size and upload_max_size

6.If u get the error on posting try changing the line in if ($postSize > $this->sizeLimit || $uploadSize > $this->sizeLimit) to if ($postSize < $this->sizeLimit || $uploadSize < $this->sizeLimit)

7.If u need to add or choose the size of ur upload and download just change in the view widget.

Enojy file uploading

Total 3 comments

#12762 report it
Bibi40k at 2013/04/10 11:24am
post_max_size & upload_max_size error

hi, it doesn't matter if you set post_max_size and upload_max_size into php.ini unless values ARE IDENTICAL with the ones from this extensions.

#11117 report it
Manoj M at 2012/12/18 08:54am
Reply:

Hello The Zohan ,

Its present in qqFileUploader.php in line 87.

#11016 report it
The Zohan at 2012/12/10 11:10am
Vague documentation

manoj20

Its not clear how variables set in the widget are being passed onto the controller and you assume people know where to "if ($postSize > $this->sizeLimit || $uploadSize > $this->sizeLimit) to if ($postSize < $this->sizeLimit || $uploadSize < $this->sizeLimit) "

Leave a comment

Please to leave your comment.

Create extension