Accueil > > > COPYRIGHT SUR IMAGES
COPYRIGHT SUR IMAGES
Information sur la source
Description
Bonjours, j'ai créé ce script pour un copain qui en avait marre de rajouter l'adresse de son site sur toutes les images qu'il rajoutait! Donc je lui est proposé de faire un script qui fait tout cela... Facile d'utilisation, il vous demande que faire ou presque :D
Source
- <?php
- // ** Ne rien modifier ici
- define('fond_fichier', 'fond.jpg'); // Image de fond
- define('longeur_max', 20); // Longueur maximal du nom d'un fichier (pour tronquage)
- define('police', 'polices/police.ttf'); // Police utilisé
- define('skin', 'style'); // Emplacement du skin
- $format = array(1 => 'gif', 2 => 'jpeg', 3 => 'png');
- include 'config.php';
-
- // Fonctions, elles permettent d'exécuter un code plusieurs fois pour différentes choses
- function mise_majmin($chaine,$majmin,$plus){
- define('min', 'efgijnpäâàáåãéèëêòóôõöøìíîïùúûüýñçþÿæœðø');
- define('maj', 'EFGIJNPÄÂÀÁÅÃÉÈËÊÒÓÔÕÖØÌÍÎÏÙÚÛÜÝÑÇÞÝÆŒÐØ');
- $chaine = strtoupper($chaine);
- if($majmin === 'maj'){
- $chaine = strtr($chaine, min, maj);
- if($chaine === 'JPG' && $plus === 1){$chaine = 'JPEG';}
- }else if($majmin === 'min'){
- $chaine = strtr($chaine, maj, min);
- if($chaine === 'jpg' && $plus === 1){$chaine = 'jpeg';}
- }
- return $chaine;
- }
- function tronquer($chaine, $longeur_moy){
- if (strlen($chaine) > $longeur_moy){
- $longeur_moy = $longeur_moy / 2;
- $chaine = substr_replace($chaine, '...', $longeur_moy, - $longeur_moy);
- }
- return $chaine;
- }
-
- // Cette condition sert à afficher directement une image avec copyright (par lien)
- if($_GET['choix'] === 'gen'){
- define('fichier', $_GET['image']);
- define('repertoire', $repertoire.'/');
- if(file_exists(repertoire.fichier)){
- define('ext_plus', pathinfo(fichier, PATHINFO_EXTENSION)); // Fonction de php qui renvoi l'extension d'un fichier
- define('ext', mise_majmin(ext_plus, 'maj', 0));
- list($imagex, $imagey, $type) = getimagesize(repertoire.fichier); // Détails sur l'image
- header ('Content-type: image/'.$format[$type]);
-
- // Lecture de l'image et mise en variable
- if(ext === 'JPG' or ext === 'JPEG')
- $image = imagecreatefromjpeg(repertoire.fichier);
- if(ext === 'PNG')
- $image = imagecreatefrompng(repertoire.fichier);
- if(ext === 'GIF')
- $image = imagecreatefromgif(repertoire.fichier);
-
- define('imagex', $imagex); // Nombre de pixel en longueur
- define('imagey', $imagey); // Nombre de pixel en hauteur
-
- // Positionnement du texte
- switch(posx){
- case 'g': define('x', 20);
- break;
- case 'c': define('x', (imagex - (50 + (strlen(copyright) * taille))) / 2);
- break;
- case 'd': define('x', imagex - (50 + (strlen(copyright) * taille)));
- break;
- }
- switch(posy){
- case 'h': define('y', 20 + taille);
- break;
- case 'm': define('y', (imagey - 50) / 2);
- break;
- case 'b': define('y', imagey - taille);
- break;
- }
- define('couleur', imagecolorallocate($image, rouge1, vert1, bleu1)); // On met une couleur en variable R,V,B
- define('couleur2', imagecolorallocate($image, rouge2, vert2, bleu2)); // On met une couleur en variable R,V,B
- imagettftext($image, taille, 0, x, y, couleur, police, copyright); // Ecriture du premier texte sur l'image
- imagettftext($image, taille, 0, x + 1, y + 1, couleur2, police, copyright); // Ecriture du deuxième texte sur l'image
-
- // On affiche l'image
- if(ext === 'JPG' or ext === 'JPEG')
- imagejpeg($image);
- if(ext === 'PNG')
- imagepng($image);
- if(ext === 'GIF')
- imagegif($image);
-
- imagedestroy($image); // On détruit l'image pour vider la variable et la mémoire
- }
- exit();
- }
- $_GET = ''; // Sécuriser le script en enlevant les variables stockées dans le lien
- ?>
- <html>
- <head>
- <title>Copyright sur Image</title>
- <link rel="stylesheet" type="text/css" href="<?php echo skin.'/style'.$s.'.css'; ?>" title="PyroFrissons" media="screen" />
- </head>
- <body>
- <div id="titre">Copyright sur Image</div>
- <?php
- $n = "\n"; // Permet le retour à la ligne dans le code
- $validation = 0;
- $exist = 0;
- define('erreur', '<div id="validation"><blink>Désolé, aucune image trouvé...</blink></div>'.$n);
- define('erreur2', preg_replace('/aucune image/', 'aucun dossier', erreur));
- define('retour', '<div id="retour"><a href="javascript:history.back()">Retour</a></div>'.$n);
- $fich = '<div id="colone-image">'.$n.'<div id="image-titre"> --- Nom de l\'image --- </div>'.$n.'<div id="image-fichier">'.$n;
- $deff = '<div id="colone-deff">'.$n.'<div id="deff-titre"> --- etat --- </div>'.$n.'<div id="deff-fichier\">'.$n;
- echo '<div id="encadrement">'.$n;
-
- if($_POST['choix'] === 'scanner'){
- if($_POST['repertoire'] != ''){
- define('repertoire', $_POST['repertoire']); // Répertoire scanné (point si direct -- deux points si précédents)
- }
- if(!file_exists(repertoire)){$exist === 'ok';}else{$dossier = openDir(repertoire);}
- define('etat', 'Extension');
- $deff = preg_replace('/etat/', etat, $deff);
-
- while($fichier = @readDir($dossier)){
- $ext = pathinfo($fichier, PATHINFO_EXTENSION); // Fonction de php qui renvoi l'extension d'un fichier
- $ext = mise_majmin($ext, 'maj', 0);
- $ext2 = mise_majmin($ext, 'maj', 1);
- $ext3 = mise_majmin($ext, 'min', 0);
-
- if(repertoire === skin){$fond = fond_fichier;}
- if(($fichier != '.')&&($fichier != '..')&&($fichier != $fond)){
- if($ext === 'JPG' or $ext === 'JPEG' or $ext === 'PNG' or $ext === 'GIF'){
- if(!is_dir(repertoire.'/'.$fichier)){
- $validation++; // Argumenter la variable afin de savoir qu'il y a une image
-
- if($_POST['renommer'] === 'oui'){
- $fichier2 = $_POST['nom'].$validation.'.'.$ext3;
- rename(repertoire.'/'.$fichier, repertoire.'/'.$fichier2);
- }else{
- $fichier2 = $fichier;
- }
-
- $fich .= '<a href="'.repertoire.'/'.$fichier2.'">';
-
- // Affiche les images du répertoire indiqué et les extensions
- if($ext === 'JPEG')
- $fich .= tronquer(substr($fichier2,0,strlen($fichier2)-5), longeur_max).'</a><br>'.$n;
- else
- $fich .= tronquer(substr($fichier2,0,strlen($fichier2)-4), longeur_max).'</a><br>'.$n;
-
- $deff .= '<font id="on">'.$ext2.'</font><br>'.$n;
- }
- }
- }
- }
- // Ajoute le résultat pour l'affichage à la fin
- $affichage = $fich.'<br></div>'.$n;
- $affichage .= $deff.'</div>'.$n;
- $affichage .= '</div>'.$n.retour;
-
- if ($validation <= 0)
- if($exist === 'ok')
- $affichage = erreur2;
- else
- $affichage = erreur;
- $affichage .= '<br>'.retour;
-
- }else if($_POST['choix'] === 'modifier'){
- if($_POST['repertoire'] != ''){
- define('repertoire', $_POST['repertoire']); // Répertoire scanné (point si direct -- deux points si précédents)
- }
- if(!file_exists(repertoire)){$exist === 'ok';}else{$dossier = openDir(repertoire);}
- if($_POST['repertoire2'] != ''){
- define('repertoire2', $_POST['repertoire2']); // Répertoire de sortie (point si direct -- deux points si précédents)
- }
- if(!file_exists(repertoire2)){mkdir(repertoire2);}
- define('etat', 'Status');
- $deff = preg_replace('/etat/', etat, $deff);
-
- if($_POST['qualite'] >= 100){
- define('qualite', 100);
- }else{
- define('qualite', round($_POST['qualite']));
- }
-
- while($fichier = @readDir($dossier)){
- $ext = pathinfo($fichier, PATHINFO_EXTENSION); // Fonction de php qui renvoi l'extension d'un fichier
-
- if($ext === 'JPG' or $ext === 'JPEG' or $ext === 'PNG' or $ext === 'GIF'){
- $ext = mise_majmin($ext, 'min', 0);
- if($ext === 'jpeg'){
- $renommer = substr($fichier,0,strlen($fichier)-5);
- }else{
- $renommer = substr($fichier,0,strlen($fichier)-4);
- }
- rename(repertoire.'/'.$fichier, repertoire.'/'.$renommer.'.'.$ext);
- $fichier = $renommer.'.'.$ext;
- }
-
- if(repertoire === skin){$fond = fond_fichier;}
- if(($fichier != '.')&&($fichier != '..')&&($fichier != $fond)){
- if($ext === 'jpg' or $ext === 'jpeg' or $ext === 'png' or $ext === 'gif'){
- if(!is_dir(repertoire.'/'.$fichier)){
- $validation++; // Argumenter la variable afin de savoir qu'il y a une image
- $resultat = 'Modifié';
- $resultat2 = 'Erroné';
-
- if($_POST['renommer'] === 'oui'){
- $fichier2 = $_POST['nom'].$validation.'.'.$ext;
- }else{
- $fichier2 = $fichier;
- }
-
- // Lecture de l'image et mise en variable
- if($ext === 'jpg' or $ext === 'jpeg')
- $image = imagecreatefromjpeg(repertoire.'/'.$fichier) or $resultat = $resultat2;
- if($ext === 'png')
- $image = imagecreatefrompng(repertoire.'/'.$fichier) or $resultat = $resultat2;
- if($ext === 'gif')
- $image = imagecreatefromgif(repertoire.'/'.$fichier) or $resultat = $resultat2;
- //if($ext === 'bmp')
- // $image = imagecreatefromwbmp(repertoire.'/'.$fichier) or $resultat = $resultat2;
-
- list($imagex, $imagey) = getimagesize(repertoire.'/'.$fichier); // Détails sur l'image
- //$imagex = imagesx($image); // Nombre de pixel en longueur
- //$imagey = imagesy($image); // Nombre de pixel en hauteur
-
- // Positionnement du texte
- switch($_POST['posx']){
- case 'g': $x = 20;
- break;
- case 'c': $x = ($imagex - (50 + (strlen($_POST['copyright']) * $_POST['taille']))) / 2;
- break;
- case 'd': $x = $imagex - (50 + (strlen($_POST['copyright']) * $_POST['taille']));
- break;
- }
- switch($_POST['posy']){
- case 'h': $y = 20 + $_POST['taille'];
- break;
- case 'm': $y = ($imagey - 50) / 2;
- break;
- case 'b': $y = $imagey - $_POST['taille'];
- break;
- }
- $height = imagefontheight(taille); // Calcul de la taille d'une chaine (approximatif)
- define('couleur', imagecolorallocate($image, $_POST['rouge1']*255/100, $_POST['vert1']*255/100, $_POST['bleu1']*255/100)); // On met une couleur en variable R,V,B
- define('couleur2', imagecolorallocate($image, $_POST['rouge2']*255/100, $_POST['vert2']*255/100, $_POST['bleu2']*255/100)); // On met une couleur en variable R,V,B
- imagettftext($image, $_POST['taille'], 0, $x, $y, couleur, 'polices/'.$_POST['police'], $_POST['copyright']); // Ecriture du premier texte sur l'image
- imagettftext($image, $_POST['taille'], 0, $x + 1, $y + 1, couleur2, 'polices/'.$_POST['police'], $_POST['copyright']); // Ecriture du deuxième texte sur l'image
-
- // On enregistre l'image (80 est le niveau de netteté)
- if($ext === 'jpg' or $ext === 'jpeg')
- imagejpeg($image, repertoire2.'/'.$fichier2, qualite) or $resultat = $resultat2;
- if($ext === 'png')
- imagepng($image, repertoire2.'/'.$fichier2, qualite) or $resultat = $resultat2;
- if($ext === 'gif')
- imagegif($image, repertoire2.'/'.$fichier2, qualite) or $resultat = $resultat2;
- //if($ext === 'bmp')
- // imagewbmp($image, repertoire2.'/'.$fichier2, $qualite) or $resultat = $resultat2;
-
- if($_POST['renommer'] === 'oui'){
- rename(repertoire2.'/'.$fichier, repertoire2.'/'.$fichier2);
- }
-
- imagedestroy($image); // On détruit l'image pour vider la variable et la mémoire
-
- if($resultat === 'Modifié')
- $resultat_couleur = 'on'; // Donner de la couleur (image modifié avec succés -> vert)
- else
- $resultat_couleur = 'off'; // Donner de la couleur (image raté -> rouge)
-
- $fich .= '<a href="'.repertoire2.'/'.$fichier2.'">';
-
- // Affiche les images du répertoire indiqué et dit si la modification a réussi
- if($ext === 'jpeg')
- $fich .= tronquer(substr($fichier2,0,strlen($fichier2)-5), longeur_max).'</a><br>'.$n;
- else
- $fich .= tronquer(substr($fichier2,0,strlen($fichier2)-4), longeur_max).'</a><br>'.$n;
-
- $deff .= '<span id="'.$resultat_couleur.'">'.$resultat.'</span><br>'.$n;
- }
- }
- }
- }
- // Ajoute le résultat pour l'affichage à la fin
- $affichage = $fich.'<br></div>'.$n;
- $affichage .= $deff.'</div>'.$n;
- $affichage .= '</div>'.$n.retour;
-
- if ($validation <= 0)
- if($exist === 'ok')
- $affichage = erreur2;
- else
- $affichage = erreur;
- $affichage .= '<br>'.retour;
-
- }else{
- $option = '';
- $ptiterreur = 'Pour le répertoire du script tapez \'.\' Pour le répertoire parent tapez \'..\'';
- switch(posx){
- case 'g':
- $posx_plus[0] = ' checked';
- break;
- case 'c':
- $posx_plus[1] = ' checked';
- break;
- case 'd':
- $posx_plus[2] = ' checked';
- break;
- }
- switch(posy){
- case 'h':
- $posy_plus[0] = ' checked';
- break;
- case 'm':
- $posy_plus[1] = ' checked';
- break;
- case 'b':
- $posy_plus[2] = ' checked';
- break;
- }
- for($i = 0; $i != 11; $i++){
- $j = ($i*10);
- $option .= '<option value="'.$j.'">'.$j.'</option>';
- }
- if(file_exists('polices')){
- $dossier = openDir('polices');
- $polices = '<option value="police.ttf">'.nom_police.'</option>';
- while($fichier = @readDir($dossier)){
- $ext = pathinfo($fichier, PATHINFO_EXTENSION); // Fonction de php qui renvoi l'extension d'un fichier
- if(($fichier != '.')&&($fichier != '..')&&($fichier != 'police.ttf')&&($ext === 'ttf' or $ext === 'TTF')){
- $polices .= '<option value="'.$fichier.'">'.substr($fichier,0,strlen($fichier)-4).'</option>';
- }
- }
- }else{
- $ptiterreur = 'Dsl Aucune police trouvé pour le répertoire \'polices\'!';
- }
- $affichage = '<form name="copyright" method="post">'.$n;
- $affichage .= '<div id="sous-titre">Choisissez Les Répertoires</div>'.$n;
- $affichage .= '<div id="repertoire">Répertoire Des Images<span id="repertoirespan"> </span><input type="text" name="repertoire" value="'.$repertoire.'" size=\"30\"></div>'.$n;
- $affichage .= '<div id="repertoire2">Répertoire De Sortie<span id="repertoire2span"> </span><input type="text" name="repertoire2" value="'.$repertoire2.'" size=\"30\"></div>'.$n;
- $affichage .= '<div id="separation1"></div>'.$n;
- $affichage .= '<div id="couleur1">Couleur Avant<span id="couleur1span"> </span><select name="rouge1"><option value="'.rouge1.'">R'.rouge1.'</option>'.$option.'</select>'.$n;
- $affichage .= '<select name="vert1"><option value="'.vert1.'">V'.vert1.'</option>'.$option.'</select>'.$n;
- $affichage .= '<select name="bleu1"><option value="'.bleu1.'">B'.bleu1.'</option>'.$option.'</select></div'.$n;
- $affichage .= '<div id="couleur2">Couleur Arrière<span id="couleur2span"> </span><select name="rouge2"><option value="'.rouge2.'">R'.rouge2.'</option>'.$option.'</select>'.$n;
- $affichage .= '<select name="vert2"><option value="'.vert2.'">V'.vert2.'</option>'.$option.'</select>'.$n;
- $affichage .= '<select name="bleu2"><option value="'.bleu2.'">B'.bleu2.'</option>'.$option.'</select></div'.$n;
- $affichage .= '<div id="separation2"></div>'.$n;
- $affichage .= '<div id="position"><font id="titreposition">Positionnement</font><br><input type="radio" name="posy" value="h"'.$posy_plus[0].'>Haut<input type="radio" name="posy" value="m"'.$posy_plus[1].'>Milieu<input type="radio" name="posy" value="b"'.$posy_plus[2].'>Bas<br>'.$n;
- $affichage .= '<input type="radio" name="posx" value="g"'.$posx_plus[0].'>Gauche<input type="radio" name="posx" value="c"'.$posx_plus[1].'>Centre<input type="radio" name="posx" value="d"'.$posx_plus[2].'>Droite</div>'.$n;
- $affichage .= '<div id="separation3"></div>'.$n;
- $affichage .= '<div id="taille">Taille Texte<span id="taillespan"> </span><input type="text" name="taille" value="'.taille.'" size=\"10\"></div>'.$n;
- $affichage .= '<div id="polices">Police Choisie<span id="policesspan"> </span><select name="police">'.$polices.'</select></div>'.$n;
- $affichage .= '<div id="copyright">Texte Copyright<span id="copyrightspan"> </span><input type="text" name="copyright" value="'.copyright.'" size=\"30\"></div>'.$n;
- $affichage .= '<div id="separation4"></div>'.$n;
- $affichage .= '<div id="renommer"><input type="radio" name="renommer" value="oui"> Renommer <input type="radio" name="renommer" value="non" checked> Ne Pas Renommer</div>'.$n;
- $affichage .= '<div id="renommer"><input type="text" name="nom" value="Nom à donner aux fichiers" size=\"30\"></div>'.$n;
- $affichage .= '<div id="separation5"></div>'.$n;
- $affichage .= '<div id="qualite">Qualité Image<span id="qualitespan"> </span><input type="text" name="qualite" value="80" size=\"10\"> %</div>'.$n;
- $affichage .= '<div id="choix">Scanner <input type="radio" name="choix" value="scanner"> <input type="radio" name="choix" value="modifier"> Modifier</div>'.$n;
- $affichage .= '<div id="valider"><input type="submit" value="Valider"></div>'.$n;
- $affichage .= '</div></form>'.$n;
- $affichage .= '<div id="explic"><blink>'.$ptiterreur.'</blink></div>'.$n;
- }
- echo $affichage;
- ?>
- </body>
- </html>
<?php
// ** Ne rien modifier ici
define('fond_fichier', 'fond.jpg'); // Image de fond
define('longeur_max', 20); // Longueur maximal du nom d'un fichier (pour tronquage)
define('police', 'polices/police.ttf'); // Police utilisé
define('skin', 'style'); // Emplacement du skin
$format = array(1 => 'gif', 2 => 'jpeg', 3 => 'png');
include 'config.php';
// Fonctions, elles permettent d'exécuter un code plusieurs fois pour différentes choses
function mise_majmin($chaine,$majmin,$plus){
define('min', 'efgijnpäâàáåãéèëêòóôõöøìíîïùúûüýñçþÿæœðø');
define('maj', 'EFGIJNPÄÂÀÁÅÃÉÈËÊÒÓÔÕÖØÌÍÎÏÙÚÛÜÝÑÇÞÝÆŒÐØ');
$chaine = strtoupper($chaine);
if($majmin === 'maj'){
$chaine = strtr($chaine, min, maj);
if($chaine === 'JPG' && $plus === 1){$chaine = 'JPEG';}
}else if($majmin === 'min'){
$chaine = strtr($chaine, maj, min);
if($chaine === 'jpg' && $plus === 1){$chaine = 'jpeg';}
}
return $chaine;
}
function tronquer($chaine, $longeur_moy){
if (strlen($chaine) > $longeur_moy){
$longeur_moy = $longeur_moy / 2;
$chaine = substr_replace($chaine, '...', $longeur_moy, - $longeur_moy);
}
return $chaine;
}
// Cette condition sert à afficher directement une image avec copyright (par lien)
if($_GET['choix'] === 'gen'){
define('fichier', $_GET['image']);
define('repertoire', $repertoire.'/');
if(file_exists(repertoire.fichier)){
define('ext_plus', pathinfo(fichier, PATHINFO_EXTENSION)); // Fonction de php qui renvoi l'extension d'un fichier
define('ext', mise_majmin(ext_plus, 'maj', 0));
list($imagex, $imagey, $type) = getimagesize(repertoire.fichier); // Détails sur l'image
header ('Content-type: image/'.$format[$type]);
// Lecture de l'image et mise en variable
if(ext === 'JPG' or ext === 'JPEG')
$image = imagecreatefromjpeg(repertoire.fichier);
if(ext === 'PNG')
$image = imagecreatefrompng(repertoire.fichier);
if(ext === 'GIF')
$image = imagecreatefromgif(repertoire.fichier);
define('imagex', $imagex); // Nombre de pixel en longueur
define('imagey', $imagey); // Nombre de pixel en hauteur
// Positionnement du texte
switch(posx){
case 'g': define('x', 20);
break;
case 'c': define('x', (imagex - (50 + (strlen(copyright) * taille))) / 2);
break;
case 'd': define('x', imagex - (50 + (strlen(copyright) * taille)));
break;
}
switch(posy){
case 'h': define('y', 20 + taille);
break;
case 'm': define('y', (imagey - 50) / 2);
break;
case 'b': define('y', imagey - taille);
break;
}
define('couleur', imagecolorallocate($image, rouge1, vert1, bleu1)); // On met une couleur en variable R,V,B
define('couleur2', imagecolorallocate($image, rouge2, vert2, bleu2)); // On met une couleur en variable R,V,B
imagettftext($image, taille, 0, x, y, couleur, police, copyright); // Ecriture du premier texte sur l'image
imagettftext($image, taille, 0, x + 1, y + 1, couleur2, police, copyright); // Ecriture du deuxième texte sur l'image
// On affiche l'image
if(ext === 'JPG' or ext === 'JPEG')
imagejpeg($image);
if(ext === 'PNG')
imagepng($image);
if(ext === 'GIF')
imagegif($image);
imagedestroy($image); // On détruit l'image pour vider la variable et la mémoire
}
exit();
}
$_GET = ''; // Sécuriser le script en enlevant les variables stockées dans le lien
?>
<html>
<head>
<title>Copyright sur Image</title>
<link rel="stylesheet" type="text/css" href="<?php echo skin.'/style'.$s.'.css'; ?>" title="PyroFrissons" media="screen" />
</head>
<body>
<div id="titre">Copyright sur Image</div>
<?php
$n = "\n"; // Permet le retour à la ligne dans le code
$validation = 0;
$exist = 0;
define('erreur', '<div id="validation"><blink>Désolé, aucune image trouvé...</blink></div>'.$n);
define('erreur2', preg_replace('/aucune image/', 'aucun dossier', erreur));
define('retour', '<div id="retour"><a href="javascript:history.back()">Retour</a></div>'.$n);
$fich = '<div id="colone-image">'.$n.'<div id="image-titre"> --- Nom de l\'image --- </div>'.$n.'<div id="image-fichier">'.$n;
$deff = '<div id="colone-deff">'.$n.'<div id="deff-titre"> --- etat --- </div>'.$n.'<div id="deff-fichier\">'.$n;
echo '<div id="encadrement">'.$n;
if($_POST['choix'] === 'scanner'){
if($_POST['repertoire'] != ''){
define('repertoire', $_POST['repertoire']); // Répertoire scanné (point si direct -- deux points si précédents)
}
if(!file_exists(repertoire)){$exist === 'ok';}else{$dossier = openDir(repertoire);}
define('etat', 'Extension');
$deff = preg_replace('/etat/', etat, $deff);
while($fichier = @readDir($dossier)){
$ext = pathinfo($fichier, PATHINFO_EXTENSION); // Fonction de php qui renvoi l'extension d'un fichier
$ext = mise_majmin($ext, 'maj', 0);
$ext2 = mise_majmin($ext, 'maj', 1);
$ext3 = mise_majmin($ext, 'min', 0);
if(repertoire === skin){$fond = fond_fichier;}
if(($fichier != '.')&&($fichier != '..')&&($fichier != $fond)){
if($ext === 'JPG' or $ext === 'JPEG' or $ext === 'PNG' or $ext === 'GIF'){
if(!is_dir(repertoire.'/'.$fichier)){
$validation++; // Argumenter la variable afin de savoir qu'il y a une image
if($_POST['renommer'] === 'oui'){
$fichier2 = $_POST['nom'].$validation.'.'.$ext3;
rename(repertoire.'/'.$fichier, repertoire.'/'.$fichier2);
}else{
$fichier2 = $fichier;
}
$fich .= '<a href="'.repertoire.'/'.$fichier2.'">';
// Affiche les images du répertoire indiqué et les extensions
if($ext === 'JPEG')
$fich .= tronquer(substr($fichier2,0,strlen($fichier2)-5), longeur_max).'</a><br>'.$n;
else
$fich .= tronquer(substr($fichier2,0,strlen($fichier2)-4), longeur_max).'</a><br>'.$n;
$deff .= '<font id="on">'.$ext2.'</font><br>'.$n;
}
}
}
}
// Ajoute le résultat pour l'affichage à la fin
$affichage = $fich.'<br></div>'.$n;
$affichage .= $deff.'</div>'.$n;
$affichage .= '</div>'.$n.retour;
if ($validation <= 0)
if($exist === 'ok')
$affichage = erreur2;
else
$affichage = erreur;
$affichage .= '<br>'.retour;
}else if($_POST['choix'] === 'modifier'){
if($_POST['repertoire'] != ''){
define('repertoire', $_POST['repertoire']); // Répertoire scanné (point si direct -- deux points si précédents)
}
if(!file_exists(repertoire)){$exist === 'ok';}else{$dossier = openDir(repertoire);}
if($_POST['repertoire2'] != ''){
define('repertoire2', $_POST['repertoire2']); // Répertoire de sortie (point si direct -- deux points si précédents)
}
if(!file_exists(repertoire2)){mkdir(repertoire2);}
define('etat', 'Status');
$deff = preg_replace('/etat/', etat, $deff);
if($_POST['qualite'] >= 100){
define('qualite', 100);
}else{
define('qualite', round($_POST['qualite']));
}
while($fichier = @readDir($dossier)){
$ext = pathinfo($fichier, PATHINFO_EXTENSION); // Fonction de php qui renvoi l'extension d'un fichier
if($ext === 'JPG' or $ext === 'JPEG' or $ext === 'PNG' or $ext === 'GIF'){
$ext = mise_majmin($ext, 'min', 0);
if($ext === 'jpeg'){
$renommer = substr($fichier,0,strlen($fichier)-5);
}else{
$renommer = substr($fichier,0,strlen($fichier)-4);
}
rename(repertoire.'/'.$fichier, repertoire.'/'.$renommer.'.'.$ext);
$fichier = $renommer.'.'.$ext;
}
if(repertoire === skin){$fond = fond_fichier;}
if(($fichier != '.')&&($fichier != '..')&&($fichier != $fond)){
if($ext === 'jpg' or $ext === 'jpeg' or $ext === 'png' or $ext === 'gif'){
if(!is_dir(repertoire.'/'.$fichier)){
$validation++; // Argumenter la variable afin de savoir qu'il y a une image
$resultat = 'Modifié';
$resultat2 = 'Erroné';
if($_POST['renommer'] === 'oui'){
$fichier2 = $_POST['nom'].$validation.'.'.$ext;
}else{
$fichier2 = $fichier;
}
// Lecture de l'image et mise en variable
if($ext === 'jpg' or $ext === 'jpeg')
$image = imagecreatefromjpeg(repertoire.'/'.$fichier) or $resultat = $resultat2;
if($ext === 'png')
$image = imagecreatefrompng(repertoire.'/'.$fichier) or $resultat = $resultat2;
if($ext === 'gif')
$image = imagecreatefromgif(repertoire.'/'.$fichier) or $resultat = $resultat2;
//if($ext === 'bmp')
// $image = imagecreatefromwbmp(repertoire.'/'.$fichier) or $resultat = $resultat2;
list($imagex, $imagey) = getimagesize(repertoire.'/'.$fichier); // Détails sur l'image
//$imagex = imagesx($image); // Nombre de pixel en longueur
//$imagey = imagesy($image); // Nombre de pixel en hauteur
// Positionnement du texte
switch($_POST['posx']){
case 'g': $x = 20;
break;
case 'c': $x = ($imagex - (50 + (strlen($_POST['copyright']) * $_POST['taille']))) / 2;
break;
case 'd': $x = $imagex - (50 + (strlen($_POST['copyright']) * $_POST['taille']));
break;
}
switch($_POST['posy']){
case 'h': $y = 20 + $_POST['taille'];
break;
case 'm': $y = ($imagey - 50) / 2;
break;
case 'b': $y = $imagey - $_POST['taille'];
break;
}
$height = imagefontheight(taille); // Calcul de la taille d'une chaine (approximatif)
define('couleur', imagecolorallocate($image, $_POST['rouge1']*255/100, $_POST['vert1']*255/100, $_POST['bleu1']*255/100)); // On met une couleur en variable R,V,B
define('couleur2', imagecolorallocate($image, $_POST['rouge2']*255/100, $_POST['vert2']*255/100, $_POST['bleu2']*255/100)); // On met une couleur en variable R,V,B
imagettftext($image, $_POST['taille'], 0, $x, $y, couleur, 'polices/'.$_POST['police'], $_POST['copyright']); // Ecriture du premier texte sur l'image
imagettftext($image, $_POST['taille'], 0, $x + 1, $y + 1, couleur2, 'polices/'.$_POST['police'], $_POST['copyright']); // Ecriture du deuxième texte sur l'image
// On enregistre l'image (80 est le niveau de netteté)
if($ext === 'jpg' or $ext === 'jpeg')
imagejpeg($image, repertoire2.'/'.$fichier2, qualite) or $resultat = $resultat2;
if($ext === 'png')
imagepng($image, repertoire2.'/'.$fichier2, qualite) or $resultat = $resultat2;
if($ext === 'gif')
imagegif($image, repertoire2.'/'.$fichier2, qualite) or $resultat = $resultat2;
//if($ext === 'bmp')
// imagewbmp($image, repertoire2.'/'.$fichier2, $qualite) or $resultat = $resultat2;
if($_POST['renommer'] === 'oui'){
rename(repertoire2.'/'.$fichier, repertoire2.'/'.$fichier2);
}
imagedestroy($image); // On détruit l'image pour vider la variable et la mémoire
if($resultat === 'Modifié')
$resultat_couleur = 'on'; // Donner de la couleur (image modifié avec succés -> vert)
else
$resultat_couleur = 'off'; // Donner de la couleur (image raté -> rouge)
$fich .= '<a href="'.repertoire2.'/'.$fichier2.'">';
// Affiche les images du répertoire indiqué et dit si la modification a réussi
if($ext === 'jpeg')
$fich .= tronquer(substr($fichier2,0,strlen($fichier2)-5), longeur_max).'</a><br>'.$n;
else
$fich .= tronquer(substr($fichier2,0,strlen($fichier2)-4), longeur_max).'</a><br>'.$n;
$deff .= '<span id="'.$resultat_couleur.'">'.$resultat.'</span><br>'.$n;
}
}
}
}
// Ajoute le résultat pour l'affichage à la fin
$affichage = $fich.'<br></div>'.$n;
$affichage .= $deff.'</div>'.$n;
$affichage .= '</div>'.$n.retour;
if ($validation <= 0)
if($exist === 'ok')
$affichage = erreur2;
else
$affichage = erreur;
$affichage .= '<br>'.retour;
}else{
$option = '';
$ptiterreur = 'Pour le répertoire du script tapez \'.\' Pour le répertoire parent tapez \'..\'';
switch(posx){
case 'g':
$posx_plus[0] = ' checked';
break;
case 'c':
$posx_plus[1] = ' checked';
break;
case 'd':
$posx_plus[2] = ' checked';
break;
}
switch(posy){
case 'h':
$posy_plus[0] = ' checked';
break;
case 'm':
$posy_plus[1] = ' checked';
break;
case 'b':
$posy_plus[2] = ' checked';
break;
}
for($i = 0; $i != 11; $i++){
$j = ($i*10);
$option .= '<option value="'.$j.'">'.$j.'</option>';
}
if(file_exists('polices')){
$dossier = openDir('polices');
$polices = '<option value="police.ttf">'.nom_police.'</option>';
while($fichier = @readDir($dossier)){
$ext = pathinfo($fichier, PATHINFO_EXTENSION); // Fonction de php qui renvoi l'extension d'un fichier
if(($fichier != '.')&&($fichier != '..')&&($fichier != 'police.ttf')&&($ext === 'ttf' or $ext === 'TTF')){
$polices .= '<option value="'.$fichier.'">'.substr($fichier,0,strlen($fichier)-4).'</option>';
}
}
}else{
$ptiterreur = 'Dsl Aucune police trouvé pour le répertoire \'polices\'!';
}
$affichage = '<form name="copyright" method="post">'.$n;
$affichage .= '<div id="sous-titre">Choisissez Les Répertoires</div>'.$n;
$affichage .= '<div id="repertoire">Répertoire Des Images<span id="repertoirespan"> </span><input type="text" name="repertoire" value="'.$repertoire.'" size=\"30\"></div>'.$n;
$affichage .= '<div id="repertoire2">Répertoire De Sortie<span id="repertoire2span"> </span><input type="text" name="repertoire2" value="'.$repertoire2.'" size=\"30\"></div>'.$n;
$affichage .= '<div id="separation1"></div>'.$n;
$affichage .= '<div id="couleur1">Couleur Avant<span id="couleur1span"> </span><select name="rouge1"><option value="'.rouge1.'">R'.rouge1.'</option>'.$option.'</select>'.$n;
$affichage .= '<select name="vert1"><option value="'.vert1.'">V'.vert1.'</option>'.$option.'</select>'.$n;
$affichage .= '<select name="bleu1"><option value="'.bleu1.'">B'.bleu1.'</option>'.$option.'</select></div'.$n;
$affichage .= '<div id="couleur2">Couleur Arrière<span id="couleur2span"> </span><select name="rouge2"><option value="'.rouge2.'">R'.rouge2.'</option>'.$option.'</select>'.$n;
$affichage .= '<select name="vert2"><option value="'.vert2.'">V'.vert2.'</option>'.$option.'</select>'.$n;
$affichage .= '<select name="bleu2"><option value="'.bleu2.'">B'.bleu2.'</option>'.$option.'</select></div'.$n;
$affichage .= '<div id="separation2"></div>'.$n;
$affichage .= '<div id="position"><font id="titreposition">Positionnement</font><br><input type="radio" name="posy" value="h"'.$posy_plus[0].'>Haut<input type="radio" name="posy" value="m"'.$posy_plus[1].'>Milieu<input type="radio" name="posy" value="b"'.$posy_plus[2].'>Bas<br>'.$n;
$affichage .= '<input type="radio" name="posx" value="g"'.$posx_plus[0].'>Gauche<input type="radio" name="posx" value="c"'.$posx_plus[1].'>Centre<input type="radio" name="posx" value="d"'.$posx_plus[2].'>Droite</div>'.$n;
$affichage .= '<div id="separation3"></div>'.$n;
$affichage .= '<div id="taille">Taille Texte<span id="taillespan"> </span><input type="text" name="taille" value="'.taille.'" size=\"10\"></div>'.$n;
$affichage .= '<div id="polices">Police Choisie<span id="policesspan"> </span><select name="police">'.$polices.'</select></div>'.$n;
$affichage .= '<div id="copyright">Texte Copyright<span id="copyrightspan"> </span><input type="text" name="copyright" value="'.copyright.'" size=\"30\"></div>'.$n;
$affichage .= '<div id="separation4"></div>'.$n;
$affichage .= '<div id="renommer"><input type="radio" name="renommer" value="oui"> Renommer <input type="radio" name="renommer" value="non" checked> Ne Pas Renommer</div>'.$n;
$affichage .= '<div id="renommer"><input type="text" name="nom" value="Nom à donner aux fichiers" size=\"30\"></div>'.$n;
$affichage .= '<div id="separation5"></div>'.$n;
$affichage .= '<div id="qualite">Qualité Image<span id="qualitespan"> </span><input type="text" name="qualite" value="80" size=\"10\"> %</div>'.$n;
$affichage .= '<div id="choix">Scanner <input type="radio" name="choix" value="scanner"> <input type="radio" name="choix" value="modifier"> Modifier</div>'.$n;
$affichage .= '<div id="valider"><input type="submit" value="Valider"></div>'.$n;
$affichage .= '</div></form>'.$n;
$affichage .= '<div id="explic"><blink>'.$ptiterreur.'</blink></div>'.$n;
}
echo $affichage;
?>
</body>
</html>
Conclusion
Merci à ApaS pour sa fonction de mise en majuscule (pour les extensions) --> je trouve sa mieu :D
Historique
- 09 octobre 2006 19:37:10 :
- quelques rajout vite fait!
- 11 octobre 2006 20:36:13 :
- J'ai retravaillé le code
- 11 octobre 2006 22:57:40 :
- Rapide modification du css
- 12 octobre 2006 06:33:45 :
- Erreur corrigé grâce à votre aide ;)
- 12 octobre 2006 22:39:44 :
- Rajout de quelques bases
- 13 octobre 2006 22:24:58 :
- Rajout de l'affichage direct
- 13 octobre 2006 22:30:43 :
- Déplacement du exit()
- 15 octobre 2006 13:11:49 :
- Correctif :: Extension avec majuscules (compatible)
- 16 octobre 2006 06:52:20 :
- Mettez le skin 2 que j'ai largement amélioré!
Le script de renommage ne fonctionne pas... ENCORE
- 17 octobre 2006 22:03:27 :
- Beaucoup de modifications apportées, choix de polices mises dans un répertoire, etc...
- 17 octobre 2006 22:38:26 :
- Problème de positionnement du texte par rapport à sa taille réglé...
- 18 octobre 2006 17:57:39 :
- Les === sont mis et tout fonctionne sauf l'affichage direct biensur...
- 18 octobre 2006 21:16:36 :
- Renommage ajouté mais ne fonctionne pas (fonction de moi)...
- 20 octobre 2006 07:00:31 :
- Quelques constantes, tout les paramètre y sont sauf le renommage qui ne fonctionne pas pour le moment...
- 20 octobre 2006 18:15:20 :
- Petite erreur de fonction corrigé!
- 21 octobre 2006 08:00:34 :
- Fonction de renommage corrigé!
- 21 octobre 2006 12:52:54 :
- Rajout de constantes et petites modification, quelqu'un pourrait-il m'aider pouir l'histoire de la première condition qui sert à créer le copyright grace aux variables du lien!
- 21 octobre 2006 13:00:32 :
- Supprimer le fichier 'rename.php' que ne sert plus à rien maintenant!
- 22 octobre 2006 18:32:55 :
- Petit changement (getimagesize) --> fonctionnement plus rapide ;)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
problème gd2 [ par moi zork ]
bonsoir à tous , Je viens de me mettre au image php avec la librairie GD sauf que j'ai un petit probleme voila mon script :<?phpheader ("Content-ty
un copyright dans une image [ par dubs07 ]
J?aurais voulu savoir comment insérer un copyright sur une image ?Merci d?avance.
Copyright image [ par kimengumi ]
BonjourJ'ai bien aimé le script de webdesignasp pour écrire un copyright sur les images.En fait, j'enregistre l'image telle quelle sur mon serveur et
Copyright sur les images [ par RockmanX ]
Une petite question très simple:j'ai une gallerie d'images et j'aimerais que sur chaque image il apparraisse un petit copyright en bas (mais sur l'ima
Surimpression d'image avec GD2 !! [ par Nox ]
bonjour!!je cherche à partir de mon image #1:je veux lui ajouter un contour:et
UPLOAD IMAGES [ par sebalex ]
Salut à tous, Voilà, j'ai repris un code pour l'upload d'image sur ce forum et tout fonctionne. Le problème est que je souhaite que l'image uploadée s
delete image [ par klerdesign ]
Bonjour,J'utilise un module admin pour mes news avec insertion d'image.Quelle requête utiliser si je veux n'insérer dans ma table 'images' qu'une seul
Mémoire max [ par coockiesch ]
Salut!Alors que je tente de créer une image (image d'1 mo) avec GD, via imagecreatefromjpeg, j'ai le joli message d'erreur suivant: Allowed memory siz
Redimensionner une image entre deux balises [ par thecomputerman ]
Bonjour,J'ai un petit soucis avec le redimensionnement d'images. Tout d'abord quand une image est insérée dans un texte c'est entre deux balises [img]
Image sur click .. [ par nicolas66 ]
Bonsoir @ tous !Je voulais juste savoir comen il était possible d'afficher une image créee avec php dans la meme page ou il y a un formulaire sur clic
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|