|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
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
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
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
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
un copyright dans une image [ par dubs07 ]
J?aurais voulu savoir comment insérer un copyright sur une image ?Merci d?avance.
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
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
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version

LG KP501
Entre 9€ et 159€
|