» »

EXIF - izpis podatkov o sliki v PHP ju?

EXIF - izpis podatkov o sliki v PHP ju?

Cokolesnik ::

Niti ene teme nisem zasledil v zvezi s tem v forumu.

Kako bi napisal branje EXIF podatkov za željeno sliko in pri tem izpisal le del, ki predstavlja goriščno razdaljo ob nastanku fotografije.

Za tiste ki še ne vejo... EXIF podatki so spravljeni v vsaki jpg fotografiji in predstavljajo ime aparata, datum posnetka, ISO vrednost, goriščno razdaljo in vse ostale podatke o nastali fotografiji. PHP galerije, ki obstajajo na netu, omogočajo, da pri uploadu fotografije aplikacija prebere samodejno EXIF podatke iz slike in jih potem prikazuje vsem, ki pogledajo željeno fotografijo. EXIF podatke vidimo tudi, če v raziskovalcu z desnim klikom odpremo lastnosti željene fotografije (jeziček Dodatno).

:\
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.

Ziga Dolhar ::

Tebe bom počas zbrcal na gugla.

Exif Functions
https://dolhar.si/

Cokolesnik ::

Evo, tole mi deluje:

$exif = exif_read_data('test.jpg', 0, true);
echo "test.jpg:
\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val
\n";
}
}

Potem je izpis v obliki:

test.jpg:
FILE.FileName: test.jpg
FILE.FileDateTime: 1125252943
FILE.FileSize: 172642
FILE.FileType: 2
FILE.MimeType: image/jpeg
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, EXIF
COMPUTED.html: width="600" height="400"
COMPUTED.Height: 400
COMPUTED.Width: 600
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 0
COMPUTED.CCDWidth: 3mm
COMPUTED.ApertureFNumber: f/2.8
COMPUTED.UserComment:
COMPUTED.UserCommentEncoding: UNDEFINED
IFD0.Make: Canon

in tako naprej...


Kako bi recimo izpisal samo določeno vrstico, denimo COMPUTED.ApertureFNumber: f/2.8 ?
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.

Zgodovina sprememb…

McAjvar ::

*khm* mislim, da je nekdo nekje enkrat nekaj rekel o uporabi googla pred pisanjem sporocil :D
to lahko resis na vec nacinov. morda sestavis polje dovoljenih kljucev in z in_array() gledas, ce se kljuc lahko izpise. lahko pa tudi s primerjanjem nizov. ce je kljuc enak 'bakalar' ali ce vsebuje nek tocno dolocen niz, potem ga izpisi, sicer ne. npr. preg_match(), ereg(), str(i)pos(), str(i)str(), ... malo se igraj, da vidis, kaj ti najbolj ustreza.
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov

rokpok ::

Drugi parameter funkcije exif_read_data () se imenuje sections - poglej kaj več o tem.
Rad bi bil pingvin.

Cokolesnik ::

Sem se že zafrkaval in že zrihtu... Na takle način:

$exif = exif_read_data("/opt/sites/www.chip.si/web/bostjan/slike/slike/$ma..., 0, true);
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
if ($name=="ExposureTime") $seznam2="$val s, ";

in potem v nadaljevanju izpisujem $seznam2
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.

rokpok ::

Maš prav ja. Iteracija skozi array bo mnogo hitrejša in učinkovitejša rešitev. >:D
Rad bi bil pingvin.

Cokolesnik ::

Kako bi spodnjo skripto prepričal, da bi mi izpisovala slike OBRATNO od abecednega reda, torej najprej tisto z "12 - poletje.jpg" in na koncu tisto z "01 - poletje.jpg".

$folder = '/sistemska_pot/otvoritev/';
$dir = dir($folder);
$allow = array ('jpg', 'gif');

while( $file = $dir->read() ) {

$fa = explode('.', $file);
if( 1 < count($fa) && in_array($fa[count($fa)-1], $allow) ) {
echo 'img src="'.$file.'" border="2" alt="'.$file.'" title="'.$file.'" hspace=10 vspace=10/';
}

}
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.

R33D3M33R ::

Ehm, poskusi s si.php.net/manual/en/function.arsort.php ali si.php.net/manual/en/function.rsort.php
Torej $fa = arsort($fa); se mi zdi :\
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

Seadoo ::

Sploh ni nujno, da ti sedaj izpisuje v abecednem vrstnem redu. "The filenames are returned in the order in which they are stored by the filesystem".

Rešitev je recimo, da najprej v en array prebereš vse datoteke (lahko sproti preverjaš, če so dovoljene), potem ta array sortiraš in ga nato sortiranega izpišeš.
Out of my mind. Back in five minutes.

Cokolesnik ::

Seadoo: mi lahko prosim pomagaš, da mi kokretno napišeš oz. spremeniš skripto, ki sem jo navedel. Na žalost nisem vroč programer in ne poznam toliko PHPja v detajle. Tudi mojo dosedanjo skripto mi je pomagal spisati oz. napisal v celoti prijatelj. Slednji pa verjetno še ni prebral tele teme. :)
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.

Seadoo ::

Naj ti bo:
$folder = '/sistemska_pot/otvoritev/';
$dir = dir($folder);
$allow = array ('jpg', 'gif');
while( $file = $dir->read() ) {
	$extension = substr(($file), strrpos($file, '.') + 1);
	if(in_array($extension, $allow) )
		$files[] = $file;
}
rsort($files);
foreach ($files as $file)
	echo 'img src="'.$file.'" border="2" alt="'.$file.'" title="'.$file.'" hspace=10 vspace=10/';
Out of my mind. Back in five minutes.

Cokolesnik ::

Mi lahko prosim sporočiš tvoj mail (bostjankAFNAamisPIKAnet), da ti pošljem datoteko, ker se nekaj matram in mi javlja napako.:(
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

php send data to private dir

Oddelek: Programiranje
5891 (630) Excavator
»

Shranjevanje fotk v Adobe Photoshop CS3

Oddelek: Pomoč in nasveti
91134 (799) Jazzie
»

[php, mysql] sortiranje izpisa iz baze

Oddelek: Izdelava spletišč
262662 (2181) Binji
»

PHP - zakaj mi ne zapise vsakokrat podatkov v datoteko?

Oddelek: Programiranje
61536 (1468) Cokolesnik
»

Ocenjevanje s PHP-jem

Oddelek: Izdelava spletišč
281290 (1004) kunigas

Več podobnih tem