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 :
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
.
Nessun tag per questo articolo.

Channel on Metacafe