当前位置: 首页>>代码示例>>PHP>>正文


PHP BaseFileHelper::createDirectory方法代码示例

本文整理汇总了PHP中yii\helpers\BaseFileHelper::createDirectory方法的典型用法代码示例。如果您正苦于以下问题:PHP BaseFileHelper::createDirectory方法的具体用法?PHP BaseFileHelper::createDirectory怎么用?PHP BaseFileHelper::createDirectory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在yii\helpers\BaseFileHelper的用法示例。


在下文中一共展示了BaseFileHelper::createDirectory方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: attachFile

 public function attachFile()
 {
     try {
         $model = $this->owner;
         $fileName = Inflector::slug($model->fullAddress) . '.pdf';
         $folder = $this->getModelSubDir() . '/';
         $model->pdf_path = $fileName;
         $pdf = new Pdf(['mode' => Pdf::MODE_UTF8, 'destination' => Pdf::DEST_FILE, 'content' => Yii::$app->view->render('@frontend/views/site/real-estate/print', ['model' => $model]), 'methods' => ['SetHeader' => ['Rapport ' . $model->fullAddress], 'SetFooter' => ['|Pagina {PAGENO}|']], 'filename' => Yii::getAlias('@uploadsBasePath') . "/files/{$folder}{$fileName}"]);
         $this->file = $pdf;
         BaseFileHelper::removeDirectory(Yii::getAlias('@uploadsBasePath') . "/files/{$folder}");
         if (!BaseFileHelper::createDirectory(Yii::getAlias('@uploadsBasePath') . "/files/{$folder}")) {
             throw new Exception(Yii::t('app', 'Failed to create the file upload directory'));
         }
         // Save and update model
         $pdf->render();
         $model->save();
         return true;
     } catch (yii\base\Exception $e) {
         return $e->getMessage();
     }
 }
开发者ID:rocketyang,项目名称:yii2-cms,代码行数:21,代码来源:PdfBehave.php

示例2: createCachedFile

 /**
  * @param $srcImagePath
  * @param bool $preset
  * @return string Path to cached file
  * @throws \Exception
  */
 private function createCachedFile($srcImagePath, $pathToSave, $size = null)
 {
     BaseFileHelper::createDirectory(dirname($pathToSave), 0777, true);
     $size = $size ? $this->parseSize($size) : false;
     //        if($this->graphicsLibrary == 'Imagick'){
     $image = new \Imagick($srcImagePath);
     $image->setImageCompressionQuality(100);
     if ($size) {
         if ($size['height'] && $size['width']) {
             $image->cropThumbnailImage($size['width'], $size['height']);
         } elseif ($size['height']) {
             $image->thumbnailImage(0, $size['height']);
         } elseif ($size['width']) {
             $image->thumbnailImage($size['width'], 0);
         } else {
             throw new \Exception('Error at $this->parseSize($sizeString)');
         }
     }
     $image->writeImage($pathToSave);
     //        }
     if (!is_file($pathToSave)) {
         throw new \Exception('Error while creating cached file');
     }
     return $image;
 }
开发者ID:quynhvv,项目名称:yii2-imagecache,代码行数:31,代码来源:imageCache.php

示例3: upload

 public function upload($upload_dir = 'product_image')
 {
     $file_name = [];
     if ($this->validate()) {
         $app_root = Yii::getAlias('@approot');
         $upload_path = "{$app_root}/uploads/{$upload_dir}/";
         if (!file_exists($upload_path)) {
             BaseFileHelper::createDirectory($upload_path, 0777, TRUE);
         } else {
             if (!is_dir($upload_path)) {
                 unlink($upload_path);
                 $this->upload($upload_dir);
             }
         }
         foreach ($this->imageFiles as $file) {
             $file_path = "{$upload_path}{$file->baseName}.{$file->extension}";
             $file->saveAs($file_path);
             $file_info['name'] = 'product_image';
             $file_info['type'] = $file->type;
             $file_info['value'] = $file->baseName . '.' . $file->extension;
             $file_name[] = $file_info;
         }
         return $file_name;
     } else {
         return false;
     }
 }
开发者ID:md-nurul-islam,项目名称:simple-ecom,代码行数:27,代码来源:UploadForm.php

示例4: cacheDir

 private function cacheDir()
 {
     $dir = Yii::getAlias(self::$cache_dir);
     if (!file_exists($dir)) {
         BaseFileHelper::createDirectory($dir, '0755');
     }
     return $dir;
 }
开发者ID:sankam-nikolya,项目名称:yii2-kinopoisk-parser,代码行数:8,代码来源:kinopoisk.php

示例5: attachImage

 /**
  *
  * Method copies image file to module store and creates db record.
  *
  * @param $absolutePath
  * @param bool $isFirst
  * @return bool|Image
  * @throws \Exception
  */
 public function attachImage($absolutePath, $isMain = false, $name = '')
 {
     //        var_dump($_FILES);
     //        die;
     if (isset($_FILES['UploadForm'])) {
         $fileRealName = $_FILES['UploadForm']['name']['file'];
     } else {
         if (isset($_FILES['gallery'])) {
             $fileRealName = $_FILES['gallery']['name'];
         } else {
             $fileRealName = $absolutePath;
         }
     }
     if (!preg_match('#http#', $absolutePath)) {
         if (!file_exists($absolutePath)) {
             throw new \Exception('File not exist! :' . $absolutePath);
         }
     } else {
         //nothing
     }
     if (!$this->owner->primaryKey) {
         throw new \Exception('Owner must have primaryKey when you attach image!');
     }
     $pictureFileName = substr(md5(microtime(true) . $absolutePath), 4, 6) . '.' . pathinfo($fileRealName, PATHINFO_EXTENSION);
     $pictureSubDir = $this->getModule()->getModelSubDir($this->owner);
     $storePath = $this->getModule()->getStorePath($this->owner);
     $newAbsolutePath = $storePath . DIRECTORY_SEPARATOR . $pictureSubDir . DIRECTORY_SEPARATOR . $pictureFileName;
     BaseFileHelper::createDirectory($storePath . DIRECTORY_SEPARATOR . $pictureSubDir, 0775, true);
     copy($absolutePath, $newAbsolutePath);
     if (!file_exists($newAbsolutePath)) {
         throw new \Exception('Cant copy file! ' . $absolutePath . ' to ' . $newAbsolutePath);
     }
     if ($this->getModule()->className === null) {
         $image = new models\Image();
     } else {
         $class = $this->getModule()->className;
         $image = new $class();
     }
     $image->itemId = $this->owner->primaryKey;
     $image->filePath = $pictureSubDir . '/' . $pictureFileName;
     $image->modelName = $this->getModule()->getShortClass($this->owner);
     $image->name = $name;
     $image->urlAlias = $this->getAlias($image);
     if (!$image->save()) {
         return false;
     }
     if (count($image->getErrors()) > 0) {
         $ar = array_shift($image->getErrors());
         unlink($newAbsolutePath);
         throw new \Exception(array_shift($ar));
     }
     $img = $this->owner->getImage();
     //If main image not exists
     if (is_object($img) && get_class($img) == 'rico\\yii2images\\models\\PlaceHolder' or $img == null or $isMain) {
         $this->setMainImage($image);
     }
     return $image;
 }
开发者ID:kusma007,项目名称:one-advanced,代码行数:67,代码来源:ImageBehave.php

示例6: generateModul

 public function generateModul()
 {
     BaseFileHelper::createDirectory($this->moduleDirectory, 509, true);
     $content = $this->modulInner();
     $moduleFullName = $this->moduleDirectory . $this->moduleName . '.php';
     $myFail = fopen($moduleFullName, "w");
     fwrite($myFail, $content);
     fclose($myFail);
     return true;
 }
开发者ID:Git1111,项目名称:portfolio,代码行数:10,代码来源:Generator.php

示例7: actionUpdate

 public function actionUpdate($id = null)
 {
     $model = new Article();
     if ($model->load(Yii::$app->request->post())) {
         $request = Yii::$app->request->post('Article');
         $id = $request['id'];
         if ($id) {
             $model = Article::findOne($id);
             $model->attributes = $request;
         }
         if ($model->save()) {
             $this->updateOrder('cid=' . $model->cid, '&langs=' . $model->langs);
             $files = \yii\web\UploadedFile::getInstances($model, 'upload_files');
             if (isset($files) && count($files) > 0) {
                 $mPath = \Yii::getAlias('@webroot') . '/images/article/news_' . $model->id;
                 if (!is_dir($mPath)) {
                     \yii\helpers\BaseFileHelper::createDirectory($mPath);
                 }
                 foreach ($files as $file) {
                     if ($request['cid'] == '12') {
                         $mPic = $file->baseName . '.' . $file->extension;
                     } else {
                         $mPic = 'nkc_' . substr(number_format(time() * rand(), 0, '', ''), 0, 14) . '.' . $file->extension;
                     }
                     //Upload Images
                     if ($file->saveAs($mPath . '/' . $mPic)) {
                         $image = \Yii::$app->image->load($mPath . '/' . $mPic);
                         $image->resize(1024, 1024);
                         $image->save($mPath . '/' . $mPic);
                         //resize images thumb
                         $image = \Yii::$app->image->load($mPath . '/' . $mPic);
                         $image->resize(250, 250);
                         $mThumb = $mPath . '/thumb/';
                         if (!is_dir($mThumb)) {
                             \yii\helpers\BaseFileHelper::createDirectory($mThumb);
                         }
                         $image->save($mThumb . $mPic);
                     }
                 }
             }
             return $this->redirect(array('index'));
         } else {
             print_r($model->getErrors());
             exit;
         }
     }
     if ($id) {
         $model = Article::findOne($id);
     } else {
         $sess = Yii::$app->session->get('sessArticle');
         $model->langs = $sess['langs'];
         $model->cid = $sess['cid'];
     }
     return $this->render('update', ['model' => $model]);
 }
开发者ID:jatuponp,项目名称:rgweb,代码行数:55,代码来源:ArticleController.php

示例8: attachImage

 /**
  * Copies the image to the assets folder and save's it in the database.
  *
  * @param   string  $absolutePath   The path were the image is uploaded   
  * @param   bool    $isMain         A flag to determine if the image is the main image
  * @param   string  $identifier     The index that has to be set for the image in the database
  * @return  bool|Image
  * @throws  \Exception
  */
 public function attachImage($absolutePath, $isMain = false, $identifier = '')
 {
     if (!preg_match('#http#', $absolutePath)) {
         if (!file_exists($absolutePath)) {
             throw new \Exception('File not exist! :' . $absolutePath);
         }
     } else {
         //nothing
     }
     if (!$this->owner->primaryKey) {
         throw new \Exception('Owner must have primaryKey when you attach image!');
     }
     $pictureFileName = basename($absolutePath);
     $pictureSubDir = $this->getModule()->getModelSubDir($this->owner);
     $storePath = $this->getModule()->getStorePath($this->owner);
     $newAbsolutePath = $storePath . DIRECTORY_SEPARATOR . $pictureSubDir . DIRECTORY_SEPARATOR . $pictureFileName;
     BaseFileHelper::createDirectory($storePath . DIRECTORY_SEPARATOR . $pictureSubDir, 0775, true);
     copy($absolutePath, $newAbsolutePath);
     unlink($absolutePath);
     if (!file_exists($newAbsolutePath)) {
         throw new \Exception('Cant copy file! ' . $absolutePath . ' to ' . $newAbsolutePath);
     }
     $image = new Image();
     $image->itemId = $this->owner->primaryKey;
     $image->filePath = $pictureSubDir . '/' . $pictureFileName;
     $image->modelName = $this->getModule()->getShortClass($this->owner);
     $image->urlAlias = $this->getAlias($image);
     $image->identifier = $identifier;
     $image->name = substr(yii\helpers\Inflector::slug($pictureFileName), 0, -3);
     // Get the highest position
     // @todo Create function
     $owner = $this->owner;
     $query = (new yii\db\Query())->select('MAX(`position`)')->from(Image::tableName())->where(['modelName' => yii\helpers\StringHelper::basename($owner::className())]);
     $command = $query->createCommand();
     $image->position = $command->queryOne(\PDO::FETCH_COLUMN) + 1;
     if (!$image->save()) {
         return false;
     }
     // Add the translations
     foreach (Yii::$app->params['languages'] as $language => $data) {
         $imageLang = new ImageLang();
         $imageLang->language = $language;
         $image->link('translations', $imageLang);
     }
     if (count($image->getErrors()) > 0) {
         $ar = array_shift($image->getErrors());
         unlink($newAbsolutePath);
         throw new \Exception(array_shift($ar));
     }
     $img = $this->owner->getImage();
     $this->setMainImage($image);
     return $image;
 }
开发者ID:infoweb-internet-solutions,项目名称:yii2-cms,代码行数:62,代码来源:ImageBehave.php

示例9: attachImage

 /**
  *
  * Method copies image file to module store and creates db record.
  *
  * @param string|UploadedFile $newImage
  * @param bool $isMain
  * @return bool|Image
  * @throws \Exception
  */
 public function attachImage($newImage, $isMain = false)
 {
     if (!$this->owner->{$this->idAttribute}) {
         throw new \Exception($this->owner->classname() . ' must have an id when you attach image!');
     }
     $pictureFileName = '';
     if ($newImage instanceof UploadedFile) {
         $sourcePath = $newImage->tempName;
         $imageExt = $newImage->extension;
     } else {
         if (!preg_match('#http#', $newImage)) {
             if (!file_exists($newImage)) {
                 throw new \Exception('File not exist! :' . $newImage);
             }
         } else {
             //nothing
         }
         $sourcePath = $newImage;
         $imageExt = pathinfo($newImage, PATHINFO_EXTENSION);
     }
     $pictureFileName = substr(sha1(microtime(true) . $sourcePath), 4, 12);
     $pictureFileName .= '.' . $imageExt;
     if (!file_exists($sourcePath)) {
         throw new \Exception('Source file doesnt exist! ' . $sourcePath . ' to ' . $newAbsolutePath);
     }
     $pictureSubDir = $this->getModule()->getModelSubDir($this->owner);
     $storePath = $this->getModule()->getStorePath($this->owner);
     $destPath = $storePath . DIRECTORY_SEPARATOR . $pictureSubDir . DIRECTORY_SEPARATOR . $pictureFileName;
     BaseFileHelper::createDirectory($storePath . DIRECTORY_SEPARATOR . $pictureSubDir, 0775, true);
     if (!copy($sourcePath, $destPath)) {
         throw new \Exception('Failed to copy file from ' . $sourcePath . ' to ' . $destPath);
     }
     $image = new $this->modelClass();
     $image->item_id = $this->owner->{$this->idAttribute};
     $image->file_path = $pictureSubDir . '/' . $pictureFileName;
     $image->model_name = $this->getModule()->getShortClass($this->owner);
     $image->url_alias = $this->getAlias($image);
     if (!$image->save()) {
         return false;
     }
     if (count($image->getErrors()) > 0) {
         $ar = array_shift($image->getErrors());
         unlink($newAbsolutePath);
         throw new \Exception(array_shift($ar));
     }
     $img = $this->owner->getImage();
     // If main image not exists
     if (is_object($img) && get_class($img) == 'circulon\\images\\models\\Placeholder' or $img == null or $isMain) {
         $this->setMainImage($image);
     }
     return $image;
 }
开发者ID:circulon,项目名称:yii2-images,代码行数:61,代码来源:ImageBehavior.php

示例10: upload

 public function upload()
 {
     if ($this->validate()) {
         $image_dir = \Yii::getAlias('@webroot');
         $this->_uploaded_url = implode(DIRECTORY_SEPARATOR, ['', self::DIR_UPLOADS, self::DIR_IMAGES, '']);
         foreach ($this->_segments as $segment) {
             $this->_uploaded_url .= $segment . DIRECTORY_SEPARATOR;
         }
         BaseFileHelper::createDirectory($image_dir . $this->_uploaded_url, 0775, true);
         $this->_uploaded_url .= md5($this->_image_name . time()) . '.' . $this->imageFile->extension;
         $this->imageFile->saveAs($image_dir . $this->_uploaded_url);
         return true;
     } else {
         return false;
     }
 }
开发者ID:itnelo,项目名称:digitaldali-portal-template-php-yii2,代码行数:16,代码来源:UploadForm.php

示例11: actionFileUploadAvatar

 public function actionFileUploadAvatar()
 {
     if (Yii::$app->request->isPost) {
         $id = Yii::$app->user->id;
         $model = User::findOne($id);
         $path = Yii::getAlias("@frontend/web/images/users/");
         BaseFileHelper::createDirectory($path);
         $model->scenario = 'view';
         $file = UploadedFile::getInstance($model, 'imgsource');
         $name = $file->baseName . '.' . $file->extension;
         $file->saveAs($path . DIRECTORY_SEPARATOR . $name);
         $model->imgsource = $name;
         $model->save();
         return true;
     }
     return false;
 }
开发者ID:scorp7mix,项目名称:yii,代码行数:17,代码来源:ProfileController.php

示例12: insert

 /**
  * create book.
  * @return Book|null the saved model or null if saving fails
  */
 public function insert()
 {
     $this->preview = UploadedFile::getInstance($this, 'preview');
     if ($this->validate()) {
         $book = new Book();
         $book->name = $this->name;
         $book->date = strtotime($this->date);
         $book->author_id = $this->author_id;
         if ($book->save()) {
             // если сохранило сообщение, то дописываем файл ------------------------------
             $dir = Yii::getAlias(Yii::$app->params['previewPath']);
             // если надо - создаем каталог
             if (!is_dir($dir)) {
                 BaseFileHelper::createDirectory($dir, 0777);
             }
             $uploaded = false;
             $filename = '';
             if ($this->preview) {
                 $filename = 'b' . $book->book_id . 'preview.' . $this->preview->extension;
                 $uploaded = $this->preview->saveAs($dir . '/' . $filename);
                 // урезаем размер файла, что б не грущили 100500мегабайт и пересохраняем
                 $img = Image::getImagine()->open($dir . '/' . $filename);
                 $size = $img->getSize();
                 $ratio = $size->getWidth() / $size->getHeight();
                 $width = 700;
                 $height = round($width / $ratio);
                 Image::thumbnail($dir . '/' . $filename, $width, $height)->save($dir . '/' . $filename, ['quality' => 80]);
                 // делаем превьюшку
                 $ratio = $size->getWidth() / $size->getHeight();
                 $width = 200;
                 $height = round($width / $ratio);
                 Image::thumbnail($dir . '/' . $filename, $width, $height)->save($dir . '/th_' . $filename, ['quality' => 80]);
             }
             // если файл залился - пишем в базу данные по файлу
             if ($uploaded) {
                 $bookData = Book::findOne($book->book_id);
                 $bookData->preview = $filename;
                 $bookData->save();
             }
             return $book;
         }
     }
     return null;
 }
开发者ID:Godscreature,项目名称:Books,代码行数:48,代码来源:BookForm.php

示例13: actionFileUploadImages

 public function actionFileUploadImages()
 {
     if (Yii::$app->request->isPost) {
         $id = Yii::$app->request->post("advert_id");
         $path = Yii::getAlias("@frontend/web/uploads/adverts/" . $id);
         BaseFileHelper::createDirectory($path);
         $file = UploadedFile::getInstanceByName('images');
         $name = time() . '.' . $file->extension;
         $file->saveAs($path . DIRECTORY_SEPARATOR . $name);
         $image = $path . DIRECTORY_SEPARATOR . $name;
         $new_name = $path . DIRECTORY_SEPARATOR . "small_" . $name;
         $size = getimagesize($image);
         $width = $size[0];
         $height = $size[1];
         Image::frame($image, 0, '666', 0)->crop(new Point(0, 0), new Box($width, $height))->resize(new Box(1000, 644))->save($new_name, ['quality' => 100]);
         sleep(1);
         return true;
     }
 }
开发者ID:vecherskyy,项目名称:dom,代码行数:19,代码来源:AdvertController.php

示例14: attachImage

 public function attachImage($absolutePath, $isMain = false)
 {
     if (!preg_match('#http#', $absolutePath)) {
         if (!file_exists($absolutePath)) {
             throw new \Exception('File not exist! :' . $absolutePath);
         }
     }
     if (!$this->owner->id) {
         throw new \Exception('Owner must have id when you attach image!');
     }
     $pictureFileName = substr(md5(microtime(true) . $absolutePath), 4, 6) . '.' . pathinfo($absolutePath, PATHINFO_EXTENSION);
     $pictureSubDir = $this->getModule()->getModelSubDir($this->owner);
     $storePath = $this->getModule()->getStorePath($this->owner);
     $newAbsolutePath = $storePath . DIRECTORY_SEPARATOR . $pictureSubDir . DIRECTORY_SEPARATOR . $pictureFileName;
     BaseFileHelper::createDirectory($storePath . DIRECTORY_SEPARATOR . $pictureSubDir, 0775, true);
     copy($absolutePath, $newAbsolutePath);
     if (!file_exists($absolutePath)) {
         throw new \Exception('Cant copy file! ' . $absolutePath . ' to ' . $newAbsolutePath);
     }
     if ($this->modelClass === null) {
         $image = new models\Image();
     } else {
         $image = new ${$this->modelClass}();
     }
     $image->itemId = $this->owner->id;
     $image->filePath = $pictureSubDir . '/' . $pictureFileName;
     $image->modelName = $this->getModule()->getShortClass($this->owner);
     $image->urlAlias = $this->getAlias($image);
     if (!$image->save()) {
         return false;
     }
     if (count($image->getErrors()) > 0) {
         $ar = array_shift($image->getErrors());
         unlink($newAbsolutePath);
         throw new \Exception(array_shift($ar));
     }
     $img = $this->owner->getImage();
     if (is_object($img) && get_class($img) == 'pistol88\\gallery\\models\\PlaceHolder' or $img == null or $isMain) {
         $this->setMainImage($image);
     }
     return $image;
 }
开发者ID:pistol88,项目名称:yii2-gallery,代码行数:42,代码来源:AttachImages.php

示例15: upload

 public function upload()
 {
     if ($this->validate()) {
         $imagable = \Yii::$app->shop_imagable;
         $dir = $imagable->imagesPath . '/shop-product/';
         if (!empty($this->image)) {
             if (!file_exists($dir)) {
                 BaseFileHelper::createDirectory($dir);
             }
             $newFile = $dir . $this->image->name;
             if ($this->image->saveAs($newFile)) {
                 $image_name = $imagable->create('shop-product', $newFile);
                 unlink($newFile);
                 return $image_name;
             } else {
                 throw new Exception('Image saving failed.');
             }
         }
     }
     return false;
 }
开发者ID:black-lamp,项目名称:blcms-shop,代码行数:21,代码来源:ProductImageForm.php


注:本文中的yii\helpers\BaseFileHelper::createDirectory方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。