コード例 #1
0
 public function actionUpload()
 {
     Yii::import("ext.MyAcrop.qqFileUploader");
     $folder = 'uploads/tmp';
     // folder for uploaded files
     // $allowedExtensions = array("jpg","jpeg","gif","png");
     $allowedExtensions = array();
     $sizeLimit = Yii::app()->params['storeImages']['maxFileSize'];
     $uploader = new qqFileUploader($allowedExtensions, $sizeLimit, $this->uploadlogosession);
     $uploader->inputName = 'photo';
     $result = $uploader->handleUpload($folder);
     $datasession = Yii::app()->session->itemAt($this->uploadlogosession);
     if (!empty($datasession)) {
         end($datasession);
         $key = key($datasession);
         $result['tmpFile'] = $datasession[$key];
         $tmpFile = Yii::getPathOfAlias('webroot') . '/uploads/tmp/' . $result['tmpFile'];
         if (file_exists($tmpFile)) {
             $thumbTo = array(160, 160);
             $folder = Yii::getPathOfAlias('webroot') . '/uploads/tmp/';
             $uploadDirectoryUpload = rtrim($folder, '/');
             $check = MHelper::File()->getUniqueTargetPath($uploadDirectoryUpload, $result['tmpFile']);
             $target = $uploadDirectoryUpload . '/' . $check;
             // if (copy($tmpFile, $target)){
             Yii::import('ext.phpthumb.PhpThumbFactory');
             $thumb = PhpThumbFactory::create($tmpFile);
             $sizes = Yii::app()->params['storeImages']['sizes'];
             $method = $sizes['resizeThumbMethod'];
             $thumb->{$method}($thumbTo[0], $thumbTo[1])->save($target);
             if (copy($target, $tmpFile)) {
                 unlink($target);
                 //delete tmp file
             }
             /* $result['tmpFile'] = $check;
                     
             
                                 $data_sess = array();
             
                                 if(Yii::app()->session->itemAt($this->uploadlogosession)){
                                     $data = Yii::app()->session->itemAt($this->uploadlogosession);
                                     if(!is_array($data)){
                                         $data_sess[$key] = $check;
                                     } else {
                                         $data[$key] = $check;
                                         $data_sess = $data;
                                     }
                                 } else {
                                     $data_sess[$key] = $check;
                                 }
                                 Yii::app()->session->remove($this->uploadlogosession);
                                 Yii::app()->session->add($this->uploadlogosession, $data_sess);
                                 
                                 unlink($tmpFile); //delete tmp file
                                 */
             // }
         }
     }
     $result = htmlspecialchars(json_encode($result), ENT_NOQUOTES);
     echo $result;
 }
コード例 #2
0
    public function run() {

        $controller = $this->getController();


         // get the Model Name
    	// $model_class = ucfirst($controller->getId());
 
    	// create the Model
    	// $model = new $model_class();
    	Yii::import("ext.MyAcrop.qqFileUploader");
        $folder='uploads/tmp';// folder for uploaded files
       // $allowedExtensions = array("jpg","jpeg","gif","png");
        $allowedExtensions = array();
        $sizeLimit = Yii::app()->params['storeImages']['maxFileSize'];
        $uploader = new qqFileUploader($allowedExtensions, $sizeLimit, 'articlefiles');
        $uploader->inputName = 'tmpFiles';
        $result = $uploader->handleUpload($folder);

        $datasession = Yii::app()->session->itemAt('articlefiles');

        if(!empty($datasession)){
                end($datasession);
                $key = key($datasession);
                $result['tmpFile'] = $datasession[$key];

                $tmpFile = Yii::getPathOfAlias('webroot').'/uploads/tmp/'.$result['tmpFile'];

        if(file_exists($tmpFile)) {

            $thumbTo = array(720,400);
            $folder = Yii::getPathOfAlias('webroot').'/uploads/tmp/';
            $uploadDirectoryUpload = rtrim($folder,'/');
            $check = MHelper::File()->getUniqueTargetPath($uploadDirectoryUpload, $result['tmpFile']);
            $target = $uploadDirectoryUpload.'/'.$check;
                
                Yii::import('ext.phpthumb.PhpThumbFactory');
                $thumb  = PhpThumbFactory::create($tmpFile);
                $sizes  = Yii::app()->params['storeImages']['sizes'];
               // $method = $sizes['resizeThumbMethod'];
               // $thumb->$method($thumbTo[0],$thumbTo[1])->save($target);
                $thumb->resize(1000)->save($target);

               if (copy($target, $tmpFile)){
                    unlink($target); //delete tmp file
               }
           }
       }
        $result = htmlspecialchars(json_encode($result), ENT_NOQUOTES);

        echo $result;

    }
コード例 #3
0
 protected function moveUploadedTmp($fromUrl)
 {
     $filename = MHelper::File()->getUniqueTargetPath($this->folderPath, $fromUrl);
     $tmpFolder = Yii::getPathOfAlias(Yii::app()->params['storeImages']['tmp']);
     if (copy($tmpFolder . DIRECTORY_SEPARATOR . $fromUrl, $this->folderPath . DIRECTORY_SEPARATOR . $filename)) {
         unlink($tmpFolder . DIRECTORY_SEPARATOR . $fromUrl);
         $this->owner->saveAttributes(array($this->attribute => $filename));
         return true;
     }
     return false;
 }
コード例 #4
0
ファイル: User.php プロジェクト: Aplay/anetika_site
 public function chickPhoto()
 {
     $photo = $this->photo;
     if (true === strpos($this->photo, '://')) {
         $save = MHelper::File()->getRemoteImg($photo, true);
         $tmpFile = Yii::getPathOfAlias('webroot') . '/uploads/tmp/' . $save;
         if (file_exists($tmpFile)) {
             $thumbTo = array(160, 160);
             $folder = $this->getFileFolder();
             $check = MHelper::File()->getUniqueTargetPath($uploadDirectoryUpload, $save);
             $target = $uploadDirectoryUpload . '/' . $check;
             if (copy($tmpFile, $target)) {
                 $thumb = PhpThumbFactory::create($target);
                 $sizes = Yii::app()->params['storeImages']['sizes'];
                 $method = $sizes['resizeThumbMethod'];
                 $thumb->{$method}($thumbTo[0], $thumbTo[1])->save($target);
                 $this->photo = $check;
                 $this->save(true, array('photo'));
                 unlink($tmpFile);
                 //delete tmp file
             }
         }
     }
     return true;
 }