Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[php] [pimcore] EXIF data aanroepen

Pagina: 1
Acties:

Verwijderd

Topicstarter
naast pimcore's eigen forum, ook even hier proberen.

Heeft iemand ook wel eens geprobeerd om de EXIF data van een foto aan te roepen in pimcore?
Ik ben bezig met de website van een fotograaf (collega op stage) in pimcore en zou graag bij elke foto een stukje info willen over hoe die gemaakt is.
Dit staat bij foto's in de EXIF data, en pimcore haalt deze al uit de foto, maar hoe en of ik deze kan aanroepen om hem te gebruiken...?


Nou is er ook een plugin die EXIF kan uitlezen, maar deze kreeg ik niet aan de praat met pimcore:
PHP:
1
2
3
4
5
6
$this->image("Image", array(
            "title" => "Drag your image here",
            "class" => "img-responsive image",
            "id" => "img1",
            "exif" => "true"
        )); ?>


Voornamelijk omdat de foto een atribuut: exif="true" moet krijgen, maar pimcore deze op bovenstaande manier niet meegeeft.
Ik heb op hun forum dit stukje meegekregen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    if (function_exists("exif_read_data") && is_file($asset->getFileSystemPath())) {
        $supportedTypes = array(IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM);

        if (in_array(exif_imagetype($asset->getFileSystemPath()), $supportedTypes)) {
            $exif = @exif_read_data($asset->getFileSystemPath());
            if (is_array($exif)) {
                $imageInfo["exif"] = array();
                foreach ($exif as $name => $value) {
                    if ((is_string($value) && strlen($value) < 50) || is_numeric($value)) {
                        // this is to ensure that the data can be converted to json (must be utf8)
                        if (mb_check_encoding($value, "UTF-8")) {
                            $imageInfo["exif"][$name] = $value;
                        }
                    }
                }
            }
        }
    }

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
1 topic is wel genoeg ;)
(Zie [pimcore] EXIF data van foto aanroepen.)
Verwijderd schreef op dinsdag 22 juli 2014 @ 16:34:
[...]

Ik heb op hun forum dit stukje meegekregen:
...en je hebt nu nog een vraag of... ?

[ Voor 51% gewijzigd door RobIII op 22-07-2014 16:37 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Die andere heb ik aangepast, omdat die in het vekeerde stukje zat! En in alle drukte in mijn hoofd vergeten die zin af te maken :P Edit: ik zag dat jij geedit had, editception?

De vraag is, Hoe roep ik met dat stukje code een img id of class aan?

[ Voor 10% gewijzigd door Verwijderd op 22-07-2014 16:43 ]


  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 09-11 23:39

xleeuwx

developer Tweakers Elect
denk dat je eerst even naar het probleem wat je hebt moet gaan kijken.

Jij hebt een foto op de website staan waar je exif data van wilt hebben ?
Dan kan je dit op meerdere manieren doen, een is de plugin gebruiken. Maar je kan ook gewoon de PHP functie exif_read_data gebruiken. http://php.net/manual/en/function.exif-read-data.php

deze geeft gewoon een array met exif data terug. deze zou je in een ajax kunnen zetten en op afstand ophalen.

Verwijderd

Topicstarter
mag dicht, is opgelost!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Een slotje is niet nodig op een topic als je je oplossing hebt. Zie daarvoor ook onze faq betreffende topiceinde
2. Opgelost: Je hebt een probleemtopic geopend en het is opgelost. Post dan altijd op welke manier je het hebt opgelost. Op deze manier is het voor een volgende lezer ook makkelijker een oplossing te vinden. Post ook als je het uiteindelijk hebt 'opgelost' door middel van een herinstallatie of format. Opgelost betekent niet dat het topic daarna op slot moet.
:)

[ Voor 50% gewijzigd door RobIII op 22-07-2014 21:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
overigens opgelost met hulp van mensen op pimcore forum, dus niet zelf geschreven.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
        $asset = $this->image('photo')->getImage();
        if ($asset) {
            if (function_exists("exif_read_data") && is_file($asset->getFileSystemPath())) {
                $supportedTypes = array(IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM);

                if (in_array(exif_imagetype($asset->getFileSystemPath()), $supportedTypes)) {
                    $exif = @exif_read_data($asset->getFileSystemPath());
                    if (is_array($exif)) {
                        $imageInfo["exif"] = array();
                        foreach ($exif as $name => $value) {
                            if ((is_string($value) && strlen($value) < 50) || is_numeric($value)) {
                                // this is to ensure that the data can be converted to json (must be utf8)
                                if (mb_check_encoding($value, "UTF-8")) {
                                    $imageInfo["exif"][$name] = $value;
                                }
                            }
                        }
                    }
                }
            }


        }

En dan roep ik later de juiste gegevens aan met bijvoorbeeld:
PHP:
1
2
<?php echo $imageInfo["exif"]["ShutterSpeedValue"];
      ?>


Omdat dit in een view / areablock staat, kan ik zo'n blok herhalen zonder dat 'ie moeilijk doet over welke foto hij moet pakken!
Pagina: 1