Example #1
0
 public function uploaderAction(Request $request)
 {
     // Получение переданных файлов и информации об альбоме из запроса
     $file = $_FILES['uploadedImages'];
     $tmpFileName = $file['tmp_name'];
     if (is_uploaded_file($tmpFileName)) {
         chmod($tmpFileName, 0660);
     }
     $albumID = $request->get('albumID');
     // Создание экземпляра Imagick и образка изображение до нужного размера
     try {
         $image = new \Imagick($tmpFileName);
     } catch (\ImagickException $e) {
         return new JsonResponse(array('success' => false, 'errorMessage' => ["Файл {$file['tmp_name']} не загрузился"]));
     }
     $image->cropImage(800, 800, 0, 0);
     // Формирование нового имени файла
     $hashFile = md5_file($tmpFileName);
     $newFileName = $hashFile . '.jpg';
     // Сохранение файла в папки
     $uploadDir = $request->server->get('DOCUMENT_ROOT') . '/uploaded/images';
     $imagePaths = array('800x800' => "{$uploadDir}/800x800/", '200x200' => "{$uploadDir}/200x200/");
     foreach ($imagePaths as $size => $path) {
         $dimensions = explode('x', $size);
         $image->thumbnailImage((int) $dimensions[0], (int) $dimensions[1], true, false);
         $image->writeimage($path . $newFileName);
     }
     // Сохранение информации о файле в базе
     $em = $this->getDoctrine()->getManager();
     $album = $em->getRepository('PhotoBundle:Album')->find($albumID);
     if (!$album) {
         return new JsonResponse(array('success' => false, 'errorMessage' => ["Переданы не корректные парраметры"]));
     }
     $photo = new Photo();
     $photo->setAlbum($album)->setEnabled(1)->setName($newFileName);
     $em->persist($photo);
     $em->flush();
     $images = array('success' => true, 'fileName' => $newFileName);
     //$images = '';
     return new JsonResponse($images);
 }
Example #2
0
 public function load(ObjectManager $em)
 {
     $photo1 = new Photo();
     $photo1->setEnabled();
     $photo1->setName('cd07ea547b1e72ebce020a277a1c8849.jpg');
     $photo1->setAlbum($this->getReference('album-progulka'));
     $photo2 = new Photo();
     $photo2->setEnabled();
     $photo2->setName('650a66c7210b756f9a57e648d2b6d6cd.jpg');
     $photo2->setAlbum($this->getReference('album-progulka'));
     $photo3 = new Photo();
     $photo3->setEnabled();
     $photo3->setName('18290ebcfcb7867260b4445595a7bf8a.jpg');
     $photo3->setAlbum($this->getReference('album-progulka'));
     $photo4 = new Photo();
     $photo4->setEnabled();
     $photo4->setName('5ac4829e232eb024d9a9c154ad321fc6.jpg');
     $photo4->setAlbum($this->getReference('album-progulka'));
     $photo5 = new Photo();
     $photo5->setEnabled();
     $photo5->setName('eb66159c445125841cf58c09113dc0a4.jpg');
     $photo5->setAlbum($this->getReference('album-progulka'));
     $photo6 = new Photo();
     $photo6->setEnabled();
     $photo6->setName('287bde35632cf8a742c96db8a1b33074.jpg');
     $photo6->setAlbum($this->getReference('album-progulka'));
     $photo7 = new Photo();
     $photo7->setEnabled();
     $photo7->setName('be8b7154ef263cf213f2a8dac6a5c70c.jpg');
     $photo7->setAlbum($this->getReference('album-progulka'));
     $em->persist($photo1);
     $em->persist($photo2);
     $em->persist($photo5);
     $em->persist($photo6);
     $em->persist($photo3);
     $em->persist($photo4);
     $em->persist($photo7);
     $em->flush();
 }