ferzip.com

Ti serve un programmatore sistemista freelance…contattami!

Come aggiungere il copyright sulle immagini di un sito

Requisiti:

1. Apache con mod_rewrite
2. PHP con la libreria GD (controlla il tuo phpconfig o chiedendo al tuo hosting)

per fare ciò basta creare un file ad esempio info.php con questo codice

<?php phpinfo(); ?>

e verificare la questa sezione :

GD 150x150 Come aggiungere il copyright sulle immagini di un sito

Fase uno.

Preparare una delle immagini che si dovrebbe utilizzare come filigrana. Questa immagine deve essere in formato PNG, è possibile creare una utilizzando GIMP per fare un effetto trasparente.

Fase due.

Modificare il file .htaccess con queste semplici regole

RewriteEngine On
 RewriteRule ^(.+)\.jpg$ copyright.php?image=$1\.jpg [L]
 RewriteRule ^(.+)\.gif$ copyright.php?image=$1\.gif [L]
 RewriteRule ^(.+)\.png$ copyright.php?image=$1\.png [L]
 RewriteRule ^(.+)\.bmp$ copyright.php?image=$1\.bmp [L]

queste regole dicono che qualsiasi file che termina con estensione jpg/gif/png/bmp prima di essere servito all’utente finale deve per essere passato come argomento a nostro script php appunto copyright.php

Fase tre.

Creare lo script copyright.php che aggiunge il nostro watermark in ogni immagine, nell’angolo in basso a destra per capire cosa fa lo script basta leggere i commenti

<?php
 
 $watermark = "watermark.png"; // percorso del nostro logo 
 
 $image = $_GET["image"]; // prendo come variabile in ingresso la GET vedi le rewite
 if (empty($image)) die(); // se la variabile $image è vuota chiudo lo script
 
// in questo if controllo se il file non esiste rispondo con 404 e chiudo lo script
 if (!file_exists($image)) {
       header("404 Not Found");
       echo "File Not Found.";
       die();
}
 
$outputType = getFileType($image); // individuo il tipo di file
watermark($image, $watermark, $outputType);
 /**
 Visualizzo l'immagine $source con il $watermark nell'angolo in basso a destra
 @param $source l'immagine nativa
 @param $watermark il watermark
 @param $outputType tipo di ouput in accordo con il file nativo (png, jpg, gif, etc.)
 */ 
 
function watermark($source, $watermark, $outputType="") {
 $sourceType = getFileType($source);
 $watermarkType = getFileType($watermark);
 if (empty($outputType)) $outputType = $sourceType;
 
 if ($outputType == "gif")
 $outputType = "png";
 
 header("Content-type:image/$outputType");
 // Componiamo le funzioni in base all'estensione del file
 // vedi http://www.php.net/manual/en/ref.image.php
 $createSource = "ImageCreateFrom".strtoupper($sourceType);
 $showImage = "Image".strtoupper($outputType);
 $createWatermark = "ImageCreateFrom".strtoupper($watermarkType);
 
 // carico in memoria le immagini
 $output = $createSource($source);
 $logo = $createWatermark($watermark);
 ImageAlphaBlending($output, true);
 
 // calcolo la posizione dell watermark
 $x = ImageSX($output) - ImageSX($logo);
 $y = ImageSY($output) - ImageSY($logo);
 
 // Visualizzo
 ImageCopy($output, $logo, $x, $y, 0, 0, ImageSX($logo), ImageSY($logo));
 $showImage($output);
 
 // Libero la memoria
 ImageDestroy($output);
 ImageDestroy($logo);
 } 
 
// Funzione per trovare l'esetnsione del file
function getFileType($filename) {
 
$filename = strtolower($filename) ;
 $exts = split("[/\\.]", $filename) ;
 $n = count($exts)-1;
 $exts = strtolower($exts[$n]);
 if ($exts == "jpg") $exts = "jpeg";
 return $exts;
 }
 
 ?>

come si vede questo script non salva l’immagine modificata ma la visualizza solo quindi a noi rimmarranno sempre gli originali


.

  • Share/Bookmark
Nessun tag per questo articolo.

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes