コード例 #1
0
 /**
  * add Image
  *
  * @param Response $response
  * @param Image    $image
  * @param string   $galleryId
  * @param string   $imageSize
  */
 private function addImage(Response $response, Image $image, $galleryId, $imageSize)
 {
     if (!$image->get($imageSize)) {
         throw new NotFoundException(sprintf('file with size "%s" not found', $imageSize));
     }
     $href = $image->get($imageSize)->getHref();
     $file = new FileInfo($image->getTitle() . '(' . $imageSize . ')', $this->getDriverId(), $image->getUpdateAt()->getTimestamp(), $galleryId);
     $file->setMime('image/jpeg');
     $file->setTmb($image->get($this->driverOptions['thumbSize'])->getHref());
     $file->setUrl($href);
     $file->setPath($href);
     $response->addFile($file);
 }
コード例 #2
0
 /**
  * get file info by full path file name
  *
  * @param string $file
  *
  * @return FileInfo
  */
 private function getFileInfo($file)
 {
     if (!file_exists($file)) {
         throw new NotFoundException(sprintf('file "%s" not found', $file));
     }
     $fileStat = stat($file);
     $directory = dirname($file) == '.' ? '' : dirname($file);
     $fileInfo = new FileInfo(basename($file), $this->getDriverId(), $fileStat['mtime'], $directory);
     $fileInfo->setSize($fileStat['size']);
     $fileInfo->setWrite(is_writable($file));
     $fileInfo->setMime($this->getMimeType($file));
     $fileInfo->setLocked($this->driverOptions['locked']);
     $this->setDirs($fileInfo, $file);
     $tmb = $this->getThumb($file);
     if (!file_exists($tmb) && in_array($fileInfo->getMime(), ['image/jpeg', 'image/png', 'image/gif'])) {
         $fileInfo->setTmb(1);
     } elseif (file_exists($tmb)) {
         $fileInfo->setTmb(DIRECTORY_SEPARATOR . $tmb);
     }
     return $fileInfo;
 }