コード例 #1
0
 public static function uploadImage($images, $db, $table, $product_tag, $product_id, $name, $options = array())
 {
     //Zend_Debug::dump($v);
     $imageKeys = array();
     foreach ($images['name'] as $k => $v) {
         $imageKeys[] = $k;
     }
     Zend_Debug::dump($imageKeys);
     foreach ($imageKeys as $k => $v) {
         $hasImageError = false;
         $file['name'] = $images['name'][$v];
         $file['type'] = $images['type'][$v];
         $file['tmp_name'] = $images['tmp_name'][$v];
         $file['error'] = $images['error'][$v];
         $file['size'] = $images['size'][$v];
         //$file = $image;
         switch ($file['error']) {
             case UPLOAD_ERR_OK:
                 //echo "upload okay";
                 break;
             case UPLOAD_ERR_FORM_SIZE:
                 //$this->messenger->addMessage('The uploaded file is too large');
                 break;
             case UPLOAD_ERR_PARTIAL:
                 //$this->messenger->addMessage('The uploaded file was too large');
                 break;
             case UPLOAD_ERR_NO_FILE:
                 //$this->messenger->addMessage('No file was uploaded');
                 $hasImageError = true;
                 break;
             case UPLOAD_ERR_NO_TMP_DIR:
                 //$this->messenger->addMessage('Temporary folder not found');
                 $hasImageError = true;
                 break;
             case UPLOAD_ERR_CANT_WRITE:
                 //$this->messenger->addMessage('Unable to write file');
                 $hasImageError = true;
                 break;
             case UPLOAD_ERR_EXTENSION:
                 //$this->messenger->addMessage('Invalid file extension');
                 $hasImageError = true;
                 break;
             default:
                 $hasImageError = true;
                 //$this->messenger->addMessage('Unkonw error code');
         }
         if (!$hasImageError) {
             //start the process of imaging.
             $hasImageInfoError = false;
             $info = getImageSize($file['tmp_name']);
             if (!$info) {
                 $this->messenger->addMessage('Uploaded file was not an image');
             }
             //echo $info[2];
             switch ($info[2]) {
                 case IMAGETYPE_PNG:
                 case IMAGETYPE_GIF:
                 case IMAGETYPE_JPEG:
                 case IMAGETYPE_JPG:
                     break;
                 default:
                     $hasImageInfoError = true;
                     $this->messenger->addMessage('type', 'Invalid image type uploaded');
             }
             if (!$hasImageInfoError) {
                 $newImage = new DatabaseObject_Image($db, $table, $product_tag);
                 //$newImage->setUsername(Zend_Auth::getInstance()->getIdentity()->username);
                 $newImage->Product_id = $product_id;
                 $newImage->name = $name;
                 $newImage->uploadFile($file['tmp_name']);
                 $newImage->filename = basename($file['name']);
                 $newImage->save();
                 //this is the place to create all the neccessary thumbnails for the website.
                 echo 'here at creating the thumbnails -0<br />';
                 $newImage->createThumbnail(150, 200, 'homeFrontFour');
                 echo 'here at creating the thumbnails -1<br />';
                 $newImage->createThumbnail(191, 200, 'productFirstImage');
                 echo 'here at creating the thumbnails -2<br />';
                 $newImage->createThumbnail(300, 350, 'productDetailImage');
                 echo 'here at creating the thumbnails -3<br />';
                 $newImage->createThumbnail(50, 50, 'productSmallPreview');
                 echo 'here at creating the thumbnails -4<br />';
             } else {
             }
         }
     }
 }