|
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
|