Mailinglisten-Archive |
On Wed, Nov 28, 2001 at 12:53:43PM +0100, Joerg Behrens wrote:
> Moin,
>
> ----- Original Message -----
> From: "Heinz Vogelsanger" <phplist_(at)_vogelsanger.net>
> To: <php_(at)_phpcenter.de>
> Sent: Wednesday, November 28, 2001 12:34 PM
> Subject: [php] IPTC
>
>
> > Moin
> >
> > ich lese die IPTC Informationen von Bildern aus. Mit ipctparse()
> > geht das prächtig.
> >
> > Nun sollte es auch möglich sein, weitere Beschreibungen mittels PHP in das
> > Bild einzufügen.
> >
> > Ich habe mal testweise neue Bildbeschreibungen mit vi an die richtige
> Stelle
> > eingefügt. Leider wurde bei Aenderungen das Bild nicht mehr als gültiges
> .jpg
> > erkannt.
>
> Benutze doch einfach die undokumentierte PHP Funktion iptcembed()
> Siehe auch
> http://www.zugeschaut-und-mitgebaut.de/php/function.iptcembed.html
>
> Leider ist das nicht ganz so einfach. Es gibt von Thies hier im Archiv der
> Liste ein kl. Beispiel. Mir ist es zwar gelungen damit Daten
> hineinzuschreiben... auch das wiederauslesen klappte. Allerdings war das
> Bild danach *brocken*. Solltest du es hinbekommen waere ich daran
> interessiert.
>
> Gruss
> Joerg *diesmal mit richtige Adresse* Behrens
<?php
function iptc_maketag($rec,$dat,$val)
{ $len = strlen($val);
if ($len < 0x8000)
return chr(0x1c).chr($rec).chr($dat).
chr($len >> 8).
chr($len & 0xff).
$val;
else
return chr(0x1c).chr($rec).chr($dat).
chr(0x80).chr(0x04).
chr(($len >> 24) & 0xff).
chr(($len >> 16) & 0xff).
chr(($len >> 8 ) & 0xff).
chr(($len ) & 0xff).
$val;
}
$iptcbuffer = iptc_maketag(2,115,"value for source field").iptc_maketag(2,120,"value for caption");
$buffer = iptcembed($iptcbuffer,$argv[ 1 ],0);
$fp = fopen($argv[ 2 ],"w");
fwrite($fp,$buffer);
fclose($fp);
?>
sollte eigentlich "tun"
tc
php::bar PHP Wiki - Listenarchive