コード例 #1
0
 private function SaveImages($model)
 {
     if (!\Helpers\Arr::is_array_empty($_FILES['News']['tmp_name'])) {
         $path = 'uploads' . DIRECTORY_SEPARATOR . 'news' . DIRECTORY_SEPARATOR . 'images_id_' . $model->id;
         $errors = array();
         $images = $model->getImages();
         if ($images) {
             $num = count($images);
         } else {
             $num = $this->config->application->images_number;
         }
         foreach ($_FILES['News']['tmp_name'] as $key => $tmp_name) {
             if ($key >= $num) {
                 break;
             }
             $file_name = $_FILES['News']['name'][$key];
             $file_size = $_FILES['News']['size'][$key];
             $file_tmp = $_FILES['News']['tmp_name'][$key];
             $file_type = $_FILES['News']['type'][$key];
             if (\Helpers\CFileHelper::is_kir($file_tmp)) {
                 $nameParts = explode('.', $file_tmp);
                 $imageName = \Helpers\Translite::$rustable($nameParts[0]) . '.' . $nameParts[1];
             }
             if ($file_size > 259715) {
                 $errors[] = 'Размер файла не больше 2 мегабайт';
             }
             $extensions = array("gif", "jpg", "png", "jpeg");
             $file_ext = explode('.', $file_name);
             $file_ext = strtolower(end($file_ext));
             if (in_array($file_ext, $extensions) === false) {
                 $errors[] = "Недопустимый формат файла, допускаются изображения форматов: jpg, gif, png, jpeg";
             }
             if (empty($errors) == true) {
                 if (is_dir($path) == false) {
                     mkdir("{$path}", 0777);
                     // Create directory if it does not exist
                 }
                 if (is_dir("{$path}/" . $file_name) == false) {
                     move_uploaded_file($file_tmp, $path . DIRECTORY_SEPARATOR . $file_name);
                 }
             } else {
                 foreach ($errors as $error) {
                     $this->flashSession->error((string) $error);
                 }
                 return $this->response->redirect("backend/news/edit/{$model->id}");
             }
         }
     }
 }
コード例 #2
0
ファイル: Articles.php プロジェクト: devsnippet/city_site
 /**
  * Возвращает изображения 
  * @return array массив, содержащий данные о изображениях вида
  * array(array('name'=>'', 'path'=>'', 'thumb_name'=>'', 'thumb_path'=>''))
  */
 public function getImages()
 {
     if (!$this->_dir) {
         $this->_dir = 'public/uploads/articles/images_id_' . $this->id;
         //mkdir($this->_dir, 0777, true);
     }
     $itemImageFolder = __DIR__ . '/../../' . $this->_dir;
     $result = array();
     if (is_dir($itemImageFolder)) {
         $images = \Helpers\CFileHelper::findFiles($itemImageFolder, array('fileTypes' => array('jpg', 'gif', 'png'), 'level' => 0));
         //Обрабатываем данные для получения приемлимого формата
         foreach ($images as $image) {
             $imageData['path'] = $image;
             //Получаем имя файла
             $nameData = explode('/', str_replace("\\", "/", $image));
             $imageData['name'] = $nameData[count($nameData) - 1];
             $result[] = $imageData;
         }
     }
     return $result;
 }