コード例 #1
0
 function uploadImages($id)
 {
     $error = "";
     if ($id > 0) {
         ///////
         // Проверить колиство файлов - не более 6,8
         // Проверить нет ли общибок в $_FILES[][error]
         // Проверить размер фотографий не более 5,6 мв на каждую
         // проверитьтиф файлов пропускать только gif|jpg|png|jpeg
         $modelName = $this->addModel;
         $item = $modelName::fetch($id);
         if ($item->id > 0) {
             // Для сохранения груп фотографий, будет задействованна фунция CCModel::save
             // а там уже будет сохранятся картинка, но там используется формат данных $_FILES как при одном файле а масиве
             // поэтому мы сохраним масив $_FILES затем его очистим и будет подставлять необходиммые для сохранения картинки значения
             if (!empty($_FILES["CatGallery"])) {
                 $postImages = $_FILES["CatGallery"];
                 // Очищаем масив чтобы подставлять данные в нужном формате
                 unset($_FILES["CatGallery"]);
             }
             // Проверем на наличие ошибок
             $haveError = false;
             if (empty($postImages)) {
                 $haveError = true;
                 $error = "Произошла ошибка скачивания";
             }
             if (!$error) {
                 for ($i = 0; $i < sizeof($postImages["name"]["images"]); $i++) {
                     if ($i > 8) {
                         $error = "Максимальное количество 8 файлов";
                         break;
                     }
                     $error = ImageHelper::checkError($postImages["type"]["images"][$i], $postImages["size"]["images"][$i], $postImages["error"]["images"][$i], array("jpg", "jpeg"), 5242880);
                     if (empty($error)) {
                         $_FILES["CatGallery"] = array("name" => array("image" => $postImages["name"]["images"][$i]), "type" => array("image" => $postImages["type"]["images"][$i]), "tmp_name" => array("image" => $postImages["tmp_name"]["images"][$i]), "error" => array("image" => $postImages["error"]["images"][$i]), "size" => array("image" => $postImages["size"]["images"][$i]));
                         $addGallery = new CatGallery();
                         $addGallery->image = $postImages["name"]["images"][$i];
                         $addGallery->catalog = $this->tableName;
                         $addGallery->item_id = $id;
                         $addGallery->save();
                         if ($addGallery->getErrors() && sizeof($addGallery->getErrors()) > 0) {
                             print_r($addGallery->getErrors());
                         }
                     }
                 }
                 if (!$error) {
                     $this->redirect(SiteHelper::createUrl("/user/" . Yii::app()->controller->getId() . "/description/", array("id" => $id)));
                 } else {
                     $this->redirect(SiteHelper::createUrl("/user/" . Yii::app()->controller->getId() . "/description/", array("id" => $id, "error" => "gallError")));
                 }
             }
         } else {
             throw new Exception("Ошибка групповой закачи картиноку ( Указанному ID нет соответствующей записи )");
         }
     } else {
         throw new Exception("Ошибка групповой закачи картиноку ( Не указан ID )");
     }
 }