/** * Returns a cached thumbnail image. * $width, $height, $method='fit', $background=null * @return sfFilebasePluginImage $image */ public function getThumbnail($width, $height, $method = 'fit', $background = null, $quality = 60, $mime = 'image/png') { $save_path = $this->filebase[$this->getFilebase()->getCacheDirectory()->getPathname() . '/' . $this->getFilename() . '_' . $width . '_' . $height . '_' . $quality . '.' . sfFilebasePluginUtil::getExtensionByMime($mime)]; if ($save_path->fileExists()) { return $save_path; } $image = $this->thumbnail($width, $height, $method, $background)->setQuality($quality)->setMimeType($mime); return $image->saveAs($save_path); }
/** * Returns filename for a cached thumbnail, calculated * by its properties and dimensions. * * @param sfFilebasePluginFile $file * @param array $thumbnail_properties * @return sfFilebasePluginImage $filename */ public function getThumbnailFileinfo(sfFilebasePluginImage $file, $dimensions, $mime) { $thumbnail_properties = $this->getScaledImageData($file, $dimensions); // Wrap in sfFilebasePluginImage because isImage may return false if file does not exist. return new sfFilebasePluginThumbnail($this->filebase->getFilebaseFile($this->filebase->getCacheDirectory() . DIRECTORY_SEPARATOR . $this->filebase->getHashForFile($file) . '_' . $thumbnail_properties['new_width'] . '_' . $thumbnail_properties['new_height'] . '.' . (sfFilebasePluginUtil::getExtensionByMime($mime) === null ? $thumbnail_properties['extension'] : sfFilebasePluginUtil::getExtensionByMime($mime))), $this->filebase, $file); }
/** * Returns the file extension, based on the content type of the file. * * @param string $default The default extension to return if none was given * * @return string The extension (with the dot) */ public function getExtension($default = '') { $f = $this->manager->getFilebase()->getFilebaseFile($this->getTempName()); return ($mime = sfFilebasePluginUtil::getMimeType($f, null, ltrim($this->getOriginalExtension(), '.'))) === null ? $default : '.' . sfFilebasePluginUtil::getExtensionByMime($mime, $default); }