Le fichier .htaccess est toujours le premier fichier lu par un système avant l'affichage d'une page. C'est grâce à ce fichier que nous pouvons appeler la fonction addhandler qui est de base inclue à apache server.
La ligne action wtmrk doir être modifiée en fonction du répertoire dans lequel se situe le fichier WaterMark.php.
2. Utilisez le fichier WaterMark.php ci-dessous :
WaterMark.php
<?php
// Chemin et nom de fichier du fichier PNG à insérer dans l'image // Pour ne pas utiliser d'image, commentez la ligne suivante
// Define('WATERMARK_IMAGE', './test.png');
// Intensité de transition en pourcentage Define('WATERMARK_PERCENT', '60');
// Texte copyright à insérer dans l'image // Pour ne pas utiliser de texte, commentez la ligne suivante
// Taille de la police de caractère ( 1 / 2 / 3 / 4 / 5 ) Define('WATERMARK_TEXT_FONT', '3');
// Le texte en mode Shadow (1 = oui - 2 = non) Define('TEXT_SHADOW', '1');
// Couleur du texte Define('TEXT_COLOR', '#FFFFFF');
// PARAMETRES GENERAUX Define('WATERMARK_ALIGN_H', 'right'); // left / right / center Define('WATERMARK_ALIGN_V', 'bottom'); // top / bottom / center Define('WATERMARK_MARGIN', '10');
if ($image_format==2) { imageJpeg($old_image); } if ($image_format==3) { imagePng($old_image); }
?>
Ce code est commenté, il ne vous suffit donc que de le lire pour comprendre ce que vous pouvez modifier.
Vous avez la possibilité soit de mettre une image (et régler sa transparence et sa position) soit de mettre du texte ou encore les 2 ... A vous de voir !
DANS CET EXEMPLE :
Sur votre hébergement, vous avez un répertoire nommé galleriephoto comprenant des photos et une interface html standard pour les afficher au grand public.
1. Copier le fichier .htacces dans le root de votre site (répertoire www généralement).
2. Copiez le fichier WaterMark.php et éventuellement votre logo au format PNG dans le répertoire galleriephoto et c'est tout !
Lors de la visite du site, le WaterMark s'affichera sur les images même si l'internaute les télécharge.
Si vous avez plusieurs répertoires, copiez à nouveau les fichiers: .htacces, WaterMark.php et logo.png dans chacun des répertoires et réglez le fichier .htaccess de chaque répertoire.
Il est bien entendu que le WaterMark est un outil vituel qui ne modifie pas les photos directement mais rajoute via une transposition le texte ou l'image watermark. Si vous retéléchargez vos photos via FTP, vous remarquerez que le watermark ne s'y trouve pas.
VERIFIEZ BIEN LES POINTS SUIVANTS (FAQ)
1. Testez avec 1 seul htacces (désactivez temporairement le vôtre si vous en avez déjà un).
2. Vérifiez que le fichier WaterMark.php comporte bien 135 lignes.
3. Vérifiez l'orthographe du fichier WaterMark.php (W et M majuscule)
4. Vérifiez que :
- La version de php est bien 4
- La librairie GD2 est installée
Que faire en cas d'erreur 500 ?
Les causes les plus probables de cette erreur peuvent provenir de plusieurs facteurs ... (comme DHL, UPS, TaxiPost, ... lol)
1. Une mauvaise configuration de WaterMark.php à la ligne : Define('WATERMARK_IMAGE', './test.png');
- (A) Vérifiez que le chemin vers le fichier image PNG
- (B) Si vous ne voulez pas incruster votre logo, commentez la en ajoutant au début deux slash ://Define('WATERMARK_IMAGE', './test.png');
2. Un mauvais choix d'image logo à incruster comme watermark dans vos images
- (A) Vérifiez que l'image à incruster est bien au format PNG
- (B) Vérifiez les propriétés de l'image PNG avec votre éditeur d'images afin de vous assurer que l'entête de l'image n'est pas signée (cela peut provoquer une erreur 500 selon le type de signature). Au pire ouvrez votre image avec le viewer microsoft (inclu à XP) et enregistrez la comme image PNG.
3. Une mauvaise configuration du fichier .htaccess à la ligne: action wtmrk /galleriephoto/WaterMark.php
- (A) Vérifiez le chemin vers le fichier WaterMark.php.
- (B) Vérifiez l'orthographe du fichier WaterMark.php.
4. Votre hébergeur fait des siennes et refuse l'utilisation de la directive addhandler ou ne possède pas de librairie GD-GD2 mais Imagemagik ou autre ...