protected function processImgUpload()
 {
     //if no errors are found
     $thumbnail = new Thumbnail();
     if (is_uploaded_file($this->Filetemp_name)) {
         //$this->Filename = rename($this->Filename,$upload_time."_".$this->Filename);
         $tmploc = move_uploaded_file($this->Filetemp_name, $this->Temp_dir . $this->Filename);
         if ($tmploc) {
             $thumbnail->createThumbnail($this->Temp_dir . $this->Filename, $this->Thumb_dir . $this->Filename, self::MAX_THUMB_WIDTH, self::MAX_THUMB_HEIGHT);
             $thumbnail->createThumbnail($this->Temp_dir . $this->Filename, $this->Upload_dir . $this->Filename, self::MAX_IMG_WIDTH, self::MAX_IMG_HEIGHT);
             list($new_width, $new_height) = getimagesize($this->Upload_dir . $this->Filename);
             $this->Newfilename = $this->getFilename($this->Filename, ".");
             $this->File_ext = $this->get_file_extension($this->Filename);
             $this->Filesize = $this->Filesize;
             $this->Width = $new_width;
             $this->Height = $new_height;
             $this->Filetype;
         }
         $this->deleteFile($this->Temp_dir . $this->Filename);
     }
 }
示例#2
0
if (!is_file($fullpath)) {
    js_fail("File {$fullpath} does not exist.");
}
$imgInfo = @getImageSize($fullpath);
//Not an image, bail out.
if (!is_array($imgInfo)) {
    js_fail("File {$fullpath} is not an image.");
}
if (!isset($_GET['to'])) {
    $resized = $manager->getResizedName($fullpath, $_GET['width'], $_GET['height']);
    $_GET['to'] = $manager->getResizedName($image, $_GET['width'], $_GET['height'], FALSE);
} else {
    $resized = Files::makeFile($manager->getImagesDir(), $_GET['to']);
}
// Check to see if it already exists
if (is_file($resized)) {
    // And is newer
    if (filemtime($resized) >= filemtime($fullpath)) {
        js_success($_GET['to']);
    }
}
// resize (thumbnailer will do this for us just fine)
$thumbnailer = new Thumbnail($_GET['width'], $_GET['height']);
$thumbnailer->proportional = FALSE;
$thumbnailer->createThumbnail($fullpath, $resized);
// did it work?
if (is_file($resized)) {
    js_success($_GET['to']);
} else {
    js_fail("Resize Failed.");
}
示例#3
0
}
//if the image is less than the thumbnail dimensions
//send the original image as thumbnail
if ($imgInfo[0] <= $IMConfig['thumbnail_width'] && $imgInfo[1] <= $IMConfig['thumbnail_height']) {
    header('Location: ' . $manager->getFileURL($image));
    exit;
}
//Check for thumbnails
$thumbnail = $manager->getThumbName($fullpath);
if (is_file($thumbnail)) {
    //if the thumbnail is newer, send it
    if (filemtime($thumbnail) >= filemtime($fullpath)) {
        header('Location: ' . $manager->getThumbURL($image));
        exit;
    }
}
//creating thumbnails
$thumbnailer = new Thumbnail($IMConfig['thumbnail_width'], $IMConfig['thumbnail_height']);
$thumbnailer->createThumbnail($fullpath, $thumbnail);
//Check for NEW thumbnails
if (is_file($thumbnail)) {
    //send the new thumbnail
    header('Location: ' . $manager->getThumbURL($image));
    exit;
} else {
    //show the default image, otherwise we quit!
    $default = $manager->getDefaultThumb();
    if ($default) {
        header('Location: ' . $default);
    }
}
 /**
  * creates the thumbnail and saves it to a variable
  *
  * @return void
  * @uses Thumbnail::createThumbnail()
  * @uses readWMImage()
  * @uses $thumbnail
  * @uses $thumbnail_width
  * @uses $thumbnail_height
  * @uses $wm_image_width
  * @uses $wm_image_height
  * @uses $position
  * @uses $wm_image
  * @uses $logos
  */
 protected function createThumbnail()
 {
     parent::createThumbnail();
     imagealphablending($this->thumbnail, true);
     foreach ($this->logos as $logo) {
         if (strlen(trim($logo['path'])) > 0) {
             $this->readWMImage($logo['path']);
             $start_pos_x = $this->thumbnail_width - $logo['margin'] - $this->wm_image_width;
             $start_pos_y = $this->thumbnail_height - $logo['margin'] - $this->wm_image_height;
             switch ($logo['pos']) {
                 case 1:
                     // left-top
                     imagecopy($this->thumbnail, $this->wm_image, $logo['margin'], $logo['margin'], 0, 0, $this->wm_image_width, $this->wm_image_height);
                     break;
                 case 2:
                     // right-top
                     imagecopy($this->thumbnail, $this->wm_image, $start_pos_x, $logo['margin'], 0, 0, $this->wm_image_width, $this->wm_image_height);
                     break;
                 case 3:
                     // right-bottom
                     imagecopy($this->thumbnail, $this->wm_image, $start_pos_x, $start_pos_y, 0, 0, $this->wm_image_width, $this->wm_image_height);
                     break;
                 case 4:
                     // left-bottom
                     imagecopy($this->thumbnail, $this->wm_image, $logo['margin'], $start_pos_y, 0, 0, $this->wm_image_width, $this->wm_image_height);
                     break;
                 case 5:
                     // center
                 // center
                 default:
                     $middle_x = ($this->thumbnail_width >> 1) - ($this->wm_image_width >> 1);
                     $middle_y = ($this->thumbnail_height >> 1) - ($this->wm_image_height >> 1);
                     imagecopy($this->thumbnail, $this->wm_image, $middle_x, $middle_y, 0, 0, $this->wm_image_width, $this->wm_image_height);
                     break;
             }
             // end switch
             unset($this->wm_image);
         }
         // end if
     }
     // end foreach
 }