[RESOLU] insert de données iptc

Petit nouveau ! | 1 Messages

17 août 2018, 11:48

Bonjour,
j'ai trouvé un tuto pour insérer des données iptc de mes photos sur mon site.
Je sais bien que je peux le faire via des logiciels tels que xnview mais je voudrais passer par PHP
voilà le code du tuto
$chemin_image="dossier-images/image.jpg";
$iptc = array('2#105' => 'titre', '2#120' => 'Commentaire', '2#122' => 'Auteur');
$iptcdata = NULL; #1
foreach($iptc as $tag => $string)#2
{
   $tag = substr($tag, 2); #3
   $iptcdata .= transformer_iptc($tag, $string); #4
}
function transformer_iptc($data, $value)
{
   $length = strlen($value);
   $retval = chr(0x1C).chr(2).chr($data);

   if($length < 0x8000)
      $retval .= chr($length >> 8).chr($length& 0xFF);
   else{
      $retval .= chr(0x80).chr(0x04). 
                 chr(($length >> 24)& 0xFF). 
                 chr(($length >> 16)& 0xFF). 
                 chr(($length >> 8)& 0xFF). 
                 chr($length& 0xFF);
   }
   return $retval.$value;
}
fichier = fopen($chemin_image, "wb"); # Ouverture du fichier
fwrite($fichier, $donnees); # Écriture du fichier
fclose($fichier); # Fermeture du fichier
Ma question: est il possible de remplacer les valeurs dans l'array (titre,commentaire,auteur) par des valeurs issues d'un formulaire. Par exemple:
	<form role="form" id="dom-form" action="formiptc.php" method="post" name="formulaire" onsubmit="return validation();"  enctype="multipart/form-data" autocomplete="on">          
					<div class="form-group"> <!-- Name field -->
						<label class="control-label " for="iptctitre">Titre</label>
						<input class="form-control" id="iptctitre" name="iptctitre" type="text"/>
					</div>
					<div class="form-group"> <!-- Message field -->
						<label class="control-label " for="iptcom">Commentaire</label>
						<textarea class="form-control" cols="40" id="iptcom" name="iptcom" rows="10"></textarea>
					</div>
					<div class="form-group">
						<button class="btn btn-primary " name="submit" type="submit">Envoi</button>
					</div>
				</form>	
je bloque là dessus depuis deux jours.
Merci à l'avance pour votre aide

Mammouth du PHP | 2703 Messages

17 août 2018, 13:18

dans formiptc.php appelé en méthode post :
$iptc = array('2#105' => $_POST['iptctitre'], '2#120' => 'Commentaire', '2#122' => 'Auteur');