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 !

GALERIE PHOTO DE FORUMMP3 EN PHP SPÉCIAL FREE.FR


Information sur la source

Catégorie :Divers Classé sous : galerie, photo, upload, freefr Niveau : Débutant Date de création : 29/05/2006 Date de mise à jour : 08/01/2009 07:41:12 Vu : 19 597

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

Description

galerie photo de forummp3 le 25/12/2008 23:14:44


le script a maintenant un site officiel: http://www.indexof.fr
Version plus recente et amélioré pour les configurations et compatibilité avec global register.
 

Source

  • <?php
  • $version="2.1";//version (ne pas modifier)
  • ////////////-------------- debut configuration -----------------//////////
  • //mettre le mot de passe ici
  • $motdepasse="";
  • //titre de la page html
  • $title="Galerie d'images";
  • //nombre d'images par ligne
  • $nb_colone=4;
  • //largeur max de la miniature
  • $max_largeur=200;
  • //hauteur max de la miniature
  • $max_longeur=200;
  • //activer les fonctions admin (renommer, suppression) 1:active 0: inactive
  • //il est conseillé de désactiver si vous donner le mot de passe à une autre personne
  • $admin=1;
  • //si vous voulez generez les miniatures sur le serveur(0:non, 1:oui)
  • $generer=1;
  • //option pour afficher ou non le formulaire d'upload (1:oui, 0:non)
  • $formulaire_upload=1;
  • //option pour afficher ou non le formulaire de recherche (1:oui, 0:non)
  • $formulaire_recherche=1;
  • //version de la librairie GD, si vous ne savez pas, essayer 2, si ça ne marche pas, mettez 1.
  • $gd=2;
  • //est ce que votre version de GD supporte les gif? (1:oui 0:non)
  • //si vous ne savez, essayer de mettre 1, et si les miniatures des gif de s'affiche pas, alors mettez 0
  • $gd_gif=0;
  • //si vous voulez rajouter des variables aux urls:
  • $variable_url='';
  • //message:
  • //si vous voulez mettre un message pour les differentes galeries,
  • //vous devez mettre un fichier message.txt, contenant le message, dans le dossier .
  • // pour modifier le design, modifier ces fonctions:
  • //design du haut de la page
  • function tete($title)
  • {
  • //include('tete.php');
  • echo '<html><head><title>'.$title.'</title></head><body>';
  • }
  • //design du bas de la page
  • function pied()
  • {
  • //include('pied.php');
  • echo '</body></html>';
  • }
  • ///////////-------------- fin configuration de la galerie ----------------//////////
  • if($motdepasse=="") die("il n'y a pas de mot de passe, mettez en un!");
  • if(isset($_GET['dossier']))
  • {
  • $dossier=$_GET['dossier'];
  • }
  • else
  • {
  • $dossier="";
  • }
  • if(isset($_GET['act']))
  • {
  • $act=$_GET['act'];
  • }
  • elseif(isset($_POST['act']))
  • {
  • $act=$_POST['act'];
  • }
  • if(isset($_REQUEST ['img']))
  • {
  • $img=$_REQUEST['img'];
  • }
  • else
  • {
  • $img="";
  • }
  • if(isset($_REQUEST['mdp']))
  • {
  • $mdp=$_REQUEST['mdp'];
  • }
  • if(isset($_REQUEST['nom']))
  • {
  • $nom=$_REQUEST['nom'];
  • }
  • if(isset($_REQUEST['NomFichier']))
  • {
  • $NomFichier=$_REQUEST['NomFichier'];
  • }
  • //nom du dossier
  • $dirname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
  • //chemin du dossier
  • $path=".".$dirname;
  • //chemin depuis la racine du serveur
  • $chemin=$_SERVER['DOCUMENT_ROOT'];
  • //nom de la page
  • $nom_page=$_SERVER['SCRIPT_NAME'];
  • //$dossier=urldecode($dossier);
  • $path=rawurlencode($path);
  • $path=str_replace('%2F','/',$path);
  • //$dossier=rawurlencode($dossier);
  • $dossier=str_replace('%2F','/',$dossier);
  • $dossier=str_replace(".","",$dossier);
  • $chemin_entier=$chemin.$dirname."/".$dossier;
  • /**
  • * echo "<br /><b>\$path:</b> $path ";
  • echo "<br /><b>\$chemin</b>: $chemin ";
  • echo "<br /><b>\$dossier</b>: $dossier";
  • echo "<br /><b>\$chemin_entier</b>: $chemin_entier<br />";
  • */
  • if(!isset($dossier) || $dossier=="")
  • {
  • //$dossier=$path;
  • /**
  • * $dossier=$path;
  • if(@$act!="thumb" )
  • {
  • chdir($path);
  • }
  • */
  • }
  • else
  • {
  • chdir($chemin_entier);
  • }
  • if(!isset($act)) $act="";
  • switch($act)
  • {
  • case "upload":
  • if($mdp!=$motdepasse) die ("mauvais mot de passe");
  • verif_fichier($NomFichier);
  • upload();
  • break;
  • case "thumb":
  • thumb($img);
  • break;
  • case "supprimer":
  • if($admin==1)
  • supprimer($img);
  • else
  • echo "la suppression a été désactivé";
  • break;
  • case "renommer":
  • if($admin==1)
  • renommer($img,$nom);
  • else
  • echo "cette fonction est désactivé";
  • break;
  • default :
  • tete($title);
  • if($formulaire_upload==1){ afficher_formulaire_upload(); }
  • if($formulaire_recherche==1){ afficher_formulaire_recherche();}
  • upload_liste_fichier();
  • //merci de ne pas enlever cette ligne
  • copyright();
  • pied();
  • break;
  • }
  • ///-------------------- liste des fonctions ----------------------////
  • function tab_list_dir($dossier)
  • {
  • global $variable_url,$path;
  • $d=opendir(".");
  • //$dir[]="<a href=\"?$variable_url\">Galerie principale</a>";
  • while($f=readdir($d))
  • {
  • if (!is_file($f) && $f != "." && $f != ".." && $f!="index.php" && $f!=".htaccess")
  • {
  • if($dossier=="" || $dossier=="." || !isset($dossier))
  • {
  • $dir[]=" <a href=\"?dossier=".$f.$variable_url."\">".$f."</a> ";
  • }
  • else
  • {
  • $dir[]=" <a href=\"?dossier=".$dossier."/".$f.$variable_url."\">".$f."</a> ";
  • }
  • }
  • }
  • closedir();
  • @sort($dir);
  • return $dir;
  • }
  • function renommer($img,$nom)
  • {
  • global $mdp,$motdepasse,$dossier,$variable_url;
  • if($mdp==$motdepasse && $nom!="" && isset($nom))
  • {
  • //if(@rename($dossier.'/'.$img,$dossier.'/'.$nom))
  • if(@rename($img,$nom))
  • {
  • echo "l'image <b>$img</b> a été renommé avec succès en : <b>$nom</b>";
  • }
  • else
  • {
  • echo "changement de nom echoué<br />";
  • echo $dossier.'/'.$img;
  • echo '<br />'.$dossier.'/'.$nom;
  • }
  • echo "<br /><a href=\"?dossier=".$dossier.$variable_url."\">retour à la galerie</a>";
  • }
  • else
  • {
  • echo"
  • <div style=\"background:#C0C0C0;width:40%;\">
  • <b>renommer une image</b><br /><br />
  • <form>
  • <b>nom d'origine:</b> $img
  • <input type=\"hidden\" name=\"img\" value=\"$img\"><br />
  • <b> nouveau nom :</b> <input type=\"text\" name=\"nom\" value=\"$img\"><br />
  • <b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
  • <input type=\"hidden\" name=\"act\" value=\"renommer\">
  • <input type=\"hidden\" name=\"dossier\" value=\"".$dossier."\">
  • <input type=\"submit\" value=\"envoyer\"><br />
  • </form>
  • </div>";
  • }
  • }
  • function supprimer($img)
  • {
  • global $mdp,$motdepasse,$dossier;
  • if($mdp==$motdepasse)
  • {
  • if(unlink($img))
  • {
  • echo "l'image <b>$img</b> a été supprimé avec succès";
  • }
  • else
  • {
  • echo "suppresion echoué";
  • }
  • echo "<br /><a href=\"?dossier=".$dossier.$variable_url."\">retour à la galerie</a>";
  • }
  • else
  • {
  • echo"
  • <div style=\"background:#C0C0C0;width:30%;\">
  • <b>supprimer une image</b><br /><br />
  • <form>
  • <b>image:</b> <input type=\"text\" name=\"img\" value=\"$img\"><br />
  • <b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
  • <input type=\"hidden\" name=\"act\" value=\"supprimer\">
  • <input type=\"hidden\" name=\"dossier\" value=\"$dossier\">
  • <input type=\"submit\" value=\"envoyer\"><br />
  • </form>
  • </div> ";
  • }
  • }
  • function alert($message)
  • {
  • echo "<br /><table align=\"center\" style=\"border:1px solid #C0c0c0;\"><tr><td><h4>$message</h4></td></tr></table>";
  • }
  • function verif_fichier($NomFichier)
  • {
  • if (!preg_match ("/^(.*)\.(jpg|png|gif|jpeg)$/i", $_FILES["NomFichier"]["name"] ))
  • {
  • exit (alert("fichier non autorisé, on a le droit seulement aux extension jpg,jpeg,png,gif"));
  • }
  • }
  • function tab_image($dossier)
  • {
  • //dossiers qui contient les fichiers
  • $d=opendir(".");
  • //scan du dossier
  • while($f=readdir($d))
  • {
  • if (preg_match ("/^(.*)\.(jpg|png|gif|jpeg)$/i", $f))
  • {
  • $is_image=true;
  • }
  • else
  • {
  • $is_image=false;
  • }
  • if ($f != "." && $f != ".." && $f!="index.php" && $f!=".htaccess" && $is_image)
  • $dir[]=$f;
  • }
  • closedir();
  • @sort($dir);
  • return $dir;
  • }
  • function tab_recherche($mot)
  • {
  • global $dossier;
  • //on recherche la liste des images du dossier.
  • $dir=tab_image($dossier);
  • $num=count($dir);
  • $i=0;
  • while($i<$num)
  • {
  • if (preg_match ("/^(.*)$mot(.*)$/i", $dir[$i]))
  • {
  • $tab_recherche[]=$dir[$i];
  • //echo $dir[$i];
  • }
  • $i++;
  • }
  • return @$tab_recherche;
  • }
  • function upload_liste_fichier()
  • {
  • global $admin,$path,$HTTP_HOST,$REQUEST_URI,$nb_colone,$mot,$dossier,$variable_url,$nom_page,$gd_gif,$generer;
  • echo '<h2 align="center"> Les galeries de photos</h2>';
  • if(isset($mot) && $mot!="")
  • {
  • $dir=tab_recherche($mot);
  • echo "<p align=\"center\"><a href=\"?dossier=".$dossier.$variable_url."\" ><b>retour à la liste</b></a></p>";
  • $num=count($dir);
  • if($num==1 || $num==0 )
  • {
  • echo"<p> $num photo a été trouvé pour le mot <b> $mot </b></p>";
  • }
  • else
  • {
  • echo"<p> $num photos ont été trouvé pour le mot <b>$mot</b></p>";
  • }
  • }
  • else
  • {
  • $dir=tab_image($dossier);
  • //on compte le nombre de fichier trouvé dans le dossier
  • $num=count($dir);
  • //debut de la fonction pour creer le menu
  • $tab_dossier=explode("/",$dossier);
  • $nb_dossier=count($tab_dossier);
  • $menu_dossier='<a href="?'.$variable_url.'"> Galerie Principale </a> / ';
  • //si c'est un sous dossier
  • if(isset($dossier) && $dossier!="" && $dossier!="." )
  • {
  • $arbo=$tab_dossier[0];
  • $i=0;
  • while($i<$nb_dossier)
  • {
  • if($i==$nb_dossier-1)
  • {
  • $menu_dossier.=rawurldecode($tab_dossier[$i]).' / ';
  • }
  • else
  • {
  • $menu_dossier.='<a href="?dossier='.$arbo.$variable_url.'">'.rawurldecode($tab_dossier[$i]).'</a> / ';
  • }
  • $i++;
  • if($i<$nb_dossier)
  • {
  • $arbo.='/'.$tab_dossier[$i];
  • }
  • }
  • }
  • echo '<p>'.$menu_dossier.'</p>';
  • //fin fonction pour creer le menu
  • $tab_list_dir = tab_list_dir($dossier);
  • $num_dir=count($tab_list_dir);
  • if($dossier==$path)
  • {
  • $repertoire='Galerie Principale';
  • }
  • else
  • {
  • $repertoire=$dossier;
  • }
  • if($num_dir>0)
  • {
  • echo '<p>Dossiers qui se trouvent dans le repertoire <b>'.$repertoire. '</b>:</p>';
  • }
  • echo tableau_html($tab_list_dir,4,"#F0F0F0","#E4E4E4");
  • if(file_exists('./message.txt'))
  • {
  • echo '<br /><br />';
  • include('message.txt');
  • echo '<br /><br />';
  • }
  • if($num==1 )
  • {
  • echo"<p>il y a $num photo dans : <b>".rawurldecode($dossier)."</b></p>";
  • }
  • elseif($num!=0)
  • {
  • echo"<p>il y a $num photos dans : <b>".rawurldecode($dossier)."</b></p>";
  • }
  • }
  • $i=0;
  • echo "\n<table class=\"classique\" border=\"0\" width=\"90%\" align=\"center\"><tr bgcolor=\"#E4E4E4\">";
  • $width=100/$nb_colone;
  • $nb_ligne=0;
  • while($i<$num || $i%$nb_colone!=0)
  • {
  • if($nb_ligne%2==0)
  • {
  • $couleur="#F0F0F0";
  • }
  • else
  • {
  • $couleur="#E4E4E4";
  • }
  • if($i<$num)
  • {
  • $dir[$i]=rawurlencode($dir[$i]);
  • if (preg_match ("/^(.*)\.gif$/i", $dir[$i]) && $gd_gif==0)
  • {
  • if(!isset($dossier) || $dossier=="" || $dossier==".")
  • {
  • echo "\n<td width=\"$width%\" ><a href=\"./".$dir[$i]."\" target=\"blank\"> (pas de miniature) <br />".rawurldecode($dir[$i]).'</a>';
  • }
  • else
  • {
  • echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"_blank\">(pas de miniature) <br />".rawurldecode($dir[$i])."</a>";
  • }
  • if($admin==1)
  • {
  • echo"<br /> <a href=\"?act=supprimer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">supprimer</a>";
  • echo"<br /> <a href=\"?act=renommer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">renommer</a>";
  • }
  • echo"</td>";
  • }
  • else
  • {
  • $thumb='';
  • //si on doit generer les miniatures
  • if($generer==1)
  • {
  • //si la miniature n'existe pas on la créé
  • if(!file_exists('_thumb_'.rawurldecode($dir[$i]).'.thumb'))
  • {
  • //generation de la miniature
  • $thumb=thumb(rawurldecode($dir[$i]),1);
  • }
  • }
  • //si on est a la racine du dossier principal
  • //if($path==$dossier)
  • if(!isset($dossier) || $dossier=="." || $dossier=="")
  • {
  • //si ont doit generer les miniatures
  • if($generer==1 )
  • {
  • //on affiche un message d'erreur si la miniature n'a pas pu etre générée
  • if($thumb=="faux")
  • {
  • echo "\n<td width=\"$width%\" > <a href=\"".$dir[$i]."\" target=\"blank\">(pas de miniature)<br /> ".rawurldecode($dir[$i])."</a>";
  • }
  • //sinon, on affiche la miniature
  • else
  • {
  • echo "\n<td width=\"$width%\" > <a href=\"".$dir[$i]."\" target=\"blank\"><img src=\"_thumb_".$dir[$i].".thumb\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
  • }
  • $thumb='rien';
  • }
  • //on genere la miniature à la volé
  • else
  • {
  • echo "\n<td width=\"$width%\" ><a href=\"./".$dir[$i]."\" target=\"blank\"><img src=\"".$nom_page."?act=thumb&img=".$dir[$i].$variable_url."\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
  • }
  • }
  • //sinon, si on est pas a la racine de la galerie
  • else
  • {
  • //si ont doit generer les miniatures
  • if($generer==1 )
  • {
  • //on affiche un message d'erreur si la miniature n'a pas pu etre générée
  • if($thumb=="faux")
  • {
  • echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"blank\">(pas de miniature)<br /> ".rawurldecode($dir[$i])."</a>";
  • }
  • //sinon, on affiche la miniature
  • else
  • {
  • echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"blank\"><img src=\"".$dossier."/_thumb_".$dir[$i].".thumb\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
  • }
  • $thumb='rien';
  • }
  • //on genere la miniature à la volé
  • else
  • {
  • //echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"blank\"><img src=\"".$path."/".$nom_page."?act=thumb&img=".$dir[$i].$variable_url."\" border=\"0\"></a><br />".rawurldecode($dir[$i]);
  • echo "\n<td width=\"$width%\" ><a href=\"".$dossier."/".$dir[$i]."\" target=\"blank\"><img src=\"".$nom_page."?act=thumb&img=".$dossier."/".$dir[$i].$variable_url."\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
  • }
  • }
  • if($admin==1)
  • {
  • echo"<br /> <a href=\"?act=supprimer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">supprimer</a>";
  • echo"<br /> <a href=\"?act=renommer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">renommer</a>";
  • }
  • echo"</td>";
  • }
  • }
  • else
  • {
  • echo "\n<td width=\"$width%\">&nbsp;...</td>";
  • }
  • $i++;
  • if($i%$nb_colone==0 &&$i!=0)
  • {
  • if($i<$num)
  • echo "\n</tr>\n<tr bgcolor=\"$couleur\">";
  • else
  • echo "\n</tr>";
  • $nb_ligne++;
  • }
  • }
  • echo"</table>";
  • }
  • function afficher_formulaire_upload()
  • {
  • echo'<div style="background:#C0C0C0;width:30%;">
  • <h4>Formulaire pour uploader une photo</h3>
  • <form ENCTYPE="multipart/form-data" method="post" name="upload">
  • <input type="hidden" name="MAX_FILE_SIZE" value="9999999" />
  • <input name="mdp" type="password"> password<br />
  • <input name="NomFichier" type="file"><br />
  • <input type="hidden" name="act" value="upload">
  • <input type="SUBMIT" VALUE="Upload">
  • <input type="reset" name="Cancel " value="Cancel ">
  • </form> </div>';
  • }
  • function afficher_formulaire_recherche()
  • {
  • global $dossier;
  • echo'<table align="center"><tr><td><form >
  • <input name="mot" type="text">
  • <input type="SUBMIT" VALUE="rechercher une image">
  • <input type="hidden" name="dossier" value="'.$dossier.'">
  • </form></td></tr></table> ';
  • }
  • function upload()
  • {
  • global $HTTP_HOST,$REQUEST_URI,$_FILES,$chemin,$dossier,$chemin_entier;
  • if (file_exists($_FILES['NomFichier']['name']))
  • {
  • echo"<h3>un fichier comporte deja ce nom</h3>";
  • }
  • else
  • {
  • if(move_uploaded_file($_FILES["NomFichier"]["tmp_name"],$chemin_entier.'/'.$_FILES["NomFichier"]["name"]))
  • {
  • $path=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
  • echo '<h3>"'.$_FILES['NomFichier']['name'].'" a été envoyé sur le serveur avec succées</h3>';
  • echo '<p><a href="?dossier='.$dossier.$variable_url.'">retourner à la galerie</a><br /></p>';
  • echo '<input type="text" size="72" value="[img]http://'.$_SERVER['HTTP_HOST'].''.$path.'/'.$dossier.'/'.$_FILES['NomFichier']['name'].'[/img]"><br /><br />';
  • echo '<img src="http://'.$_SERVER['HTTP_HOST'].''.$path.'/'.$dossier.'/'.$_FILES['NomFichier']['name'].'">';
  • }
  • else
  • {
  • echo "<h3>upload echoué</h3><br />";
  • }
  • }
  • }
  • function image_erreur($message)
  • {
  • global $max_largeur,$max_longeur;
  • $im = ImageCreate ($max_largeur, $max_longeur); /* Create a blank image */
  • $bgc = ImageColorAllocate ($im, 200, 200, 200);
  • $tc = ImageColorAllocate ($im, 0, 0, 0);
  • ImageFilledRectangle ($im, 0, 0, $max_largeur, $max_longeur, $bgc);
  • /* Output an errmsg */
  • ImageString($im, 2, 5, 5, $message, $tc);
  • //ImageString($im, 2, 5, 15, $img, $tc);
  • return $im;
  • }
  • function thumb($img,$generer=0)
  • {
  • global $gd,$max_largeur,$max_longeur,$generer;
  • //on demande les dimension de l'image $img et son type d'image (png, jpg, gif)
  • //si on n'arrive pas a voir la taille de l'image gande taille
  • if(!$size = getimagesize($img))
  • {
  • $img_error=image_erreur("erreur: taille inconnu");
  • if($generer==0)
  • {
  • //on affiche l'image d'erreur
  • header("Content-type: image/jpg");
  • $img_big = imagejpeg($img_error);
  • exit();
  • }
  • else
  • {
  • //on signale qu'il y a une erreur en mettant les variables a zero
  • //largeur
  • $largeur=100;
  • $size[0]=100;
  • //longeur
  • $longeur=100;
  • $size[1]=100;
  • //on regarde si c'est png jpg gif
  • $type=0;
  • //return "faux";
  • }
  • }
  • else
  • {
  • //on regarde si c'est png jpg gif
  • $type=$size[2];
  • switch($type)
  • {
  • case 2: if(!$img_big =imagecreatefromjpeg($img)){ $img_big=$img_error;} break;
  • case 3: if(!$img_big =imagecreatefrompng($img)) { $img_big=$img_error; } break;
  • case 1: if(!$img_big =imagecreatefromgif($img)) { $img_big=$img_error; } break;
  • }
  • //largeur
  • $largeur=$size[0];
  • //longeur
  • $longeur=$size[1];
  • //on charge l'image $img dans $img_big:
  • }
  • //on regarde si l'image depasse en longueur
  • $depasse_long=$longeur-$max_longeur;
  • //on regarde si l'image depasse en largeur
  • $depasse_large=$largeur-$max_largeur;
  • //si l'image est + grande que les tailles max ou bien s'il faut generer les images
  • if($depasse_long>0 || $depasse_large>0 || $generer==1)
  • {
  • if($depasse_long>$depasse_large)
  • {
  • $largeur=($max_longeur/$longeur)*$largeur;
  • //echo "$largeur=$max_longeur/$longeur)*$largeur";
  • //echo 'longueur:'.$longeur;
  • $longeur=$max_longeur;
  • //150/243*300
  • }
  • else
  • {
  • $longeur=($max_largeur/$largeur)*$longeur;
  • //echo 'largeur:'.$largeur;
  • //echo '<br />$longeur:'.$longeur;
  • $largeur=$max_largeur;
  • }
  • //echo $size[0]." X ".$size[1].";( $largeur x $longeur)";
  • //on fait une nouvelle image ayant pour dimension: largeur et hauteur
  • if($gd=="1")
  • {
  • $img_mini = imagecreate($largeur,$longeur);
  • }
  • else
  • {
  • $img_mini = imagecreatetruecolor($largeur,$longeur);
  • }
  • if($type==0)
  • {
  • $type='2';
  • $img_big=$img_error;
  • }
  • //on copie l'image d'origine contenu dans img_big dans img_mini en la reduisant a $largeur pour la largeur et $longeur pour la hauteur:
  • //imagecopyresized($img_mini,$img_big,0,0,0,0,$largeur,$longeur,$size[0],$size[1]);
  • imagecopyresampled($img_mini,$img_big,0,0,0,0,$largeur,$longeur,$size[0],$size[1]);
  • switch($type)
  • {
  • //si c'est une image jpg
  • case 2:
  • //si on genere les miniatures sur le dd
  • if($generer==1)
  • {
  • imagejpeg($img_mini,'_thumb_'.$img.'.thumb');
  • }
  • else
  • {
  • //on enverra au navigateur un fichier de type image au format jpeg
  • header("Content-type: image/jpeg");
  • //on envoie l'image reduire au navigateur:
  • imagejpeg($img_mini);
  • }
  • break;
  • case 3:
  • if($generer==1)
  • {
  • imagepng($img_mini,'_thumb_'.$img.'.thumb');
  • }
  • else
  • {
  • //on enverra au navigateur un fichier de type image au format png
  • header("Content-type: image/png");
  • //on envoie l'image reduire au navigateur:
  • imagepng($img_mini);
  • }
  • break;
  • case 1:
  • if($generer==1)
  • {
  • imagegif($img_mini,'_thumb_'.$img.'.thumb');
  • }
  • else
  • {
  • //on enverra au navigateur un fichier de type image au format gif
  • header("Content-type: image/gif");
  • //on envoie l'image reduire au navigateur:
  • imagegif($img_mini);
  • }
  • break;
  • }
  • }
  • else
  • {
  • switch($type)
  • {
  • case 2:header("Content-type: image/jpg"); $img_big = imagejpeg($img_big); break;
  • case 3:header("Content-type: image/png"); $img_big = imagepng($img_big); break;
  • case 1:header("Content-type: image/gif"); $img_big = imagegif($img_big);break;
  • }
  • }
  • return "vrai";
  • }
  • function tableau_html($dir,$nb_colone,$couleur1,$couleur2)//"#F0F0F0","#E4E4E4"
  • {
  • global $admin,$path,$HTTP_HOST,$REQUEST_URI;
  • $num=count($dir);
  • $i=0;
  • $tableau = "\n<table border=\"0\" width=\"90%\" align=\"center\"><tr bgcolor=\"$couleur1\">";
  • $width=100/$nb_colone;
  • $nb_ligne=0;
  • while($i<$num || $i%$nb_colone!=0)
  • {
  • if($nb_ligne%2==0) {$couleur=$couleur2;} else {$couleur=$couleur1;};
  • if($i<$num)
  • {
  • $tableau .= "\n<td width=\"$width%\" >";
  • $tableau .= $dir[$i];
  • $tableau .= "</td>";
  • }
  • else
  • {
  • $tableau .= "\n<td width=\"$width%\">&nbsp;</td>";
  • }
  • $i++;
  • if($i%$nb_colone==0 &&$i!=0)
  • {
  • if($i<$num)
  • $tableau .= "\n</tr>\n<tr bgcolor=\"$couleur\">";
  • else
  • $tableau .= "\n</tr>";
  • $nb_ligne++;
  • }
  • }
  • $tableau .= "</table>";
  • return $tableau;
  • }
  • function copyright()
  • {
  • global $version;
  • //merci de ne pas enlever cette ligne
  • echo "<p align=\"center\">Version: ".$version."<br />
  • Téléchargez cette galerie gratuite sur <a href=\"http://www.indexof.fr\" target=\"_blank\">indexof.fr</a></p>";
  • }
  • ?>
<?php
$version="2.1";//version (ne pas modifier)

////////////-------------- debut configuration  -----------------//////////

//mettre le mot de passe ici
$motdepasse="";

//titre de la page html
$title="Galerie d'images";
//nombre d'images par ligne
$nb_colone=4;
//largeur max de la miniature
$max_largeur=200;
//hauteur max de la miniature
$max_longeur=200;

//activer les fonctions admin (renommer, suppression) 1:active 0: inactive
//il est conseillé de désactiver si vous donner le mot de passe à une autre personne
$admin=1;

//si vous voulez generez les miniatures sur le serveur(0:non, 1:oui)
$generer=1; 

//option pour afficher ou non le formulaire d'upload (1:oui, 0:non)
$formulaire_upload=1;
//option pour afficher ou non le formulaire de recherche (1:oui, 0:non)
$formulaire_recherche=1;

//version de la librairie GD, si vous ne savez pas, essayer 2, si ça ne marche pas, mettez 1.
$gd=2;

//est ce que votre version de GD supporte les gif? (1:oui 0:non)
//si vous ne savez, essayer de mettre 1, et si les miniatures des gif de s'affiche pas, alors mettez 0
$gd_gif=0;

//si vous voulez rajouter des variables aux urls:
$variable_url='';

//message:
//si vous voulez mettre un message pour les differentes galeries, 
//vous devez mettre un fichier message.txt, contenant le message, dans le dossier .

// pour modifier le design, modifier ces fonctions:


//design du haut de la page
function tete($title)
{
	//include('tete.php');
	echo '<html><head><title>'.$title.'</title></head><body>';
}

//design du bas de la page 
function pied()
{
	//include('pied.php');
	echo '</body></html>';

}

///////////--------------  fin configuration de la galerie ----------------//////////

if($motdepasse=="") die("il n'y a pas de mot de passe, mettez en un!");

if(isset($_GET['dossier']))
{
	$dossier=$_GET['dossier'];
}
else
{
	$dossier="";
}

if(isset($_GET['act']))
{
	$act=$_GET['act'];
}
elseif(isset($_POST['act']))
{
	$act=$_POST['act'];
}

if(isset($_REQUEST ['img']))
{
	$img=$_REQUEST['img'];
}
else
{
	$img="";
}

if(isset($_REQUEST['mdp']))
{
	$mdp=$_REQUEST['mdp'];
}

if(isset($_REQUEST['nom']))
{
	$nom=$_REQUEST['nom'];
}

if(isset($_REQUEST['NomFichier']))
{
	$NomFichier=$_REQUEST['NomFichier'];
}


//nom du dossier
$dirname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
//chemin du dossier
$path=".".$dirname;

//chemin depuis la racine du serveur
$chemin=$_SERVER['DOCUMENT_ROOT'];

//nom de la page
$nom_page=$_SERVER['SCRIPT_NAME'];

//$dossier=urldecode($dossier);
$path=rawurlencode($path);
$path=str_replace('%2F','/',$path);
//$dossier=rawurlencode($dossier);
$dossier=str_replace('%2F','/',$dossier);

$dossier=str_replace(".","",$dossier);
$chemin_entier=$chemin.$dirname."/".$dossier;

/**
 * echo "<br /><b>\$path:</b> $path ";
echo "<br /><b>\$chemin</b>: $chemin ";
echo "<br /><b>\$dossier</b>: $dossier";	
echo "<br /><b>\$chemin_entier</b>: $chemin_entier<br />";
 */

if(!isset($dossier) || $dossier=="")
{

//$dossier=$path;
/**
 * 	$dossier=$path;
	if(@$act!="thumb" )
	{
		
		chdir($path);
	}
	
 */
 
}
else
{

	chdir($chemin_entier);	
	
}





if(!isset($act)) $act="";

switch($act)
{
	case "upload":
	if($mdp!=$motdepasse) die ("mauvais mot de passe");
	verif_fichier($NomFichier);
	upload();
	break;

	case "thumb":
	thumb($img);
	break;
	
	case "supprimer":
	if($admin==1)
	supprimer($img);
	else
	echo "la suppression a été désactivé";
	break;
	
	case "renommer":
	if($admin==1)
	renommer($img,$nom);
	else
	echo "cette fonction est désactivé";
	break;

	default :
	tete($title);
	if($formulaire_upload==1){	afficher_formulaire_upload();	}
	if($formulaire_recherche==1){ afficher_formulaire_recherche();}

	upload_liste_fichier();
	//merci de ne pas enlever cette ligne
	copyright();
	pied();
	break;
}





///-------------------- liste des fonctions ----------------------////


function tab_list_dir($dossier)
{
	global $variable_url,$path;
	
	$d=opendir(".");
	
	
	//$dir[]="<a href=\"?$variable_url\">Galerie principale</a>";
	while($f=readdir($d))
	{
		
		if (!is_file($f) && $f != "." && $f != ".." && $f!="index.php" && $f!=".htaccess")
		{	
			if($dossier=="" || $dossier=="." || !isset($dossier))
			{
				$dir[]=" <a href=\"?dossier=".$f.$variable_url."\">".$f."</a> ";
			}
			else
			{
				$dir[]=" <a href=\"?dossier=".$dossier."/".$f.$variable_url."\">".$f."</a> ";
			}
			
		}
		 
		 
		
	}
 	closedir();
 	@sort($dir);
	return $dir;
}


function renommer($img,$nom)
{
 global $mdp,$motdepasse,$dossier,$variable_url;
 
	if($mdp==$motdepasse && $nom!="" && isset($nom))
	{
		
		//if(@rename($dossier.'/'.$img,$dossier.'/'.$nom))
		if(@rename($img,$nom))
		{
			echo "l'image <b>$img</b> a été renommé avec succès en : <b>$nom</b>";
		}
		else
		{
			echo "changement de nom echoué<br />";
			echo $dossier.'/'.$img;
			echo '<br />'.$dossier.'/'.$nom;
		}
		echo "<br /><a href=\"?dossier=".$dossier.$variable_url."\">retour à la galerie</a>";
	}
	else
	{
		echo"
		<div style=\"background:#C0C0C0;width:40%;\">
		<b>renommer une image</b><br /><br />
		<form>
		<b>nom d'origine:</b> $img
		<input type=\"hidden\" name=\"img\" value=\"$img\"><br />
		<b> nouveau nom :</b> <input type=\"text\" name=\"nom\" value=\"$img\"><br />
		<b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
		<input type=\"hidden\" name=\"act\" value=\"renommer\">
		<input type=\"hidden\" name=\"dossier\" value=\"".$dossier."\">
		<input type=\"submit\" value=\"envoyer\"><br />
		</form>
		</div>";	
	}


}

function supprimer($img)
{
 global $mdp,$motdepasse,$dossier;
 
	if($mdp==$motdepasse)
	{
		if(unlink($img))
		{
			echo "l'image <b>$img</b> a été supprimé avec succès";
		}
		else
		{
			echo "suppresion echoué";
		}
		echo "<br /><a href=\"?dossier=".$dossier.$variable_url."\">retour à la galerie</a>";
	}
	else
	{
		echo"
		
		<div style=\"background:#C0C0C0;width:30%;\">
		<b>supprimer une image</b><br /><br />
		<form>
		<b>image:</b> <input type=\"text\" name=\"img\" value=\"$img\"><br />
		<b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
		<input type=\"hidden\" name=\"act\" value=\"supprimer\">
		<input type=\"hidden\" name=\"dossier\" value=\"$dossier\">
		<input type=\"submit\" value=\"envoyer\"><br />
		</form>
		</div>	";	
	}

	

}


function alert($message)
{
echo "<br /><table align=\"center\" style=\"border:1px solid #C0c0c0;\"><tr><td><h4>$message</h4></td></tr></table>";
}

function verif_fichier($NomFichier)
{
	if (!preg_match ("/^(.*)\.(jpg|png|gif|jpeg)$/i", $_FILES["NomFichier"]["name"] )) 
	{
 	  exit (alert("fichier non autorisé, on a le droit seulement aux extension jpg,jpeg,png,gif"));
	
	} 
	
}

function tab_image($dossier)
{

//dossiers qui contient les fichiers
	$d=opendir(".");
	
	//scan du dossier
	while($f=readdir($d))
	{
		if (preg_match ("/^(.*)\.(jpg|png|gif|jpeg)$/i", $f))
		{
			$is_image=true;
		}
		else
		{
			$is_image=false;
		}
		if ($f != "." && $f != ".." && $f!="index.php" && $f!=".htaccess" && $is_image)
		$dir[]=$f;
	}
 	closedir();
 	@sort($dir);
	return $dir;

}

function tab_recherche($mot)
{
	global $dossier;
	
	//on recherche la liste des images du dossier.
	$dir=tab_image($dossier);
	$num=count($dir);
	
	 
	$i=0;
	while($i<$num)
	{
		if (preg_match ("/^(.*)$mot(.*)$/i", $dir[$i]))
		{
			$tab_recherche[]=$dir[$i];
			//echo $dir[$i];
		}
 		$i++;
	}
	
	return @$tab_recherche;
}



function upload_liste_fichier()
{	
	global $admin,$path,$HTTP_HOST,$REQUEST_URI,$nb_colone,$mot,$dossier,$variable_url,$nom_page,$gd_gif,$generer;
	
	echo '<h2 align="center"> Les galeries de photos</h2>';
	
		
	if(isset($mot) && $mot!="")
	{
		$dir=tab_recherche($mot);
		
		echo "<p align=\"center\"><a href=\"?dossier=".$dossier.$variable_url."\" ><b>retour à la liste</b></a></p>";
		
		$num=count($dir);
		if($num==1 || $num==0 )
		{
			echo"<p> $num photo a été trouvé pour le mot <b> $mot </b></p>";
		}
		else
		{
			echo"<p> $num photos ont été trouvé pour le mot <b>$mot</b></p>";
		}
	}
	else
	{
		$dir=tab_image($dossier);
		
		//on compte le nombre de fichier trouvé dans le dossier
 		$num=count($dir);
		
		//debut de la fonction pour creer le menu
		$tab_dossier=explode("/",$dossier);
		
		$nb_dossier=count($tab_dossier);
		
		$menu_dossier='<a href="?'.$variable_url.'"> Galerie Principale </a> / ';
		
		
		//si c'est un sous dossier
		if(isset($dossier) && $dossier!="" && $dossier!="." )
		{
			$arbo=$tab_dossier[0];
			$i=0;
			while($i<$nb_dossier)
			{
				if($i==$nb_dossier-1)
				{
					$menu_dossier.=rawurldecode($tab_dossier[$i]).' / ';
				}
				else
				{
					$menu_dossier.='<a href="?dossier='.$arbo.$variable_url.'">'.rawurldecode($tab_dossier[$i]).'</a> / ';
				}
				
				$i++;
				if($i<$nb_dossier)
				{
				
				$arbo.='/'.$tab_dossier[$i];	
				}
				
			
			}
		}
		echo '<p>'.$menu_dossier.'</p>';
		//fin fonction pour creer le menu
		

		$tab_list_dir = tab_list_dir($dossier);
		$num_dir=count($tab_list_dir);
		
		if($dossier==$path)
		{
			$repertoire='Galerie Principale';
		}
		else
		{
			$repertoire=$dossier;
		}
		if($num_dir>0)
		{
			echo '<p>Dossiers qui se trouvent dans le repertoire <b>'.$repertoire.	'</b>:</p>';
		}
		echo tableau_html($tab_list_dir,4,"#F0F0F0","#E4E4E4");
		
		
		if(file_exists('./message.txt'))
		{	
			echo '<br /><br />';
			include('message.txt');
			echo '<br /><br />';
		}
		
		
		
		if($num==1 )
		{
			echo"<p>il y a $num photo dans : <b>".rawurldecode($dossier)."</b></p>";
		}	
		elseif($num!=0)
		{
			echo"<p>il y a $num photos dans : <b>".rawurldecode($dossier)."</b></p>";
		}
	}
	


 	$i=0;
	
	echo "\n<table class=\"classique\" border=\"0\" width=\"90%\" align=\"center\"><tr bgcolor=\"#E4E4E4\">";
	$width=100/$nb_colone;
	$nb_ligne=0;
	while($i<$num || $i%$nb_colone!=0)
	{	
		if($nb_ligne%2==0)
		{
			$couleur="#F0F0F0";
		}
		else
		{
			$couleur="#E4E4E4";
		}
		if($i<$num)
		{
		
		    $dir[$i]=rawurlencode($dir[$i]);
			if (preg_match ("/^(.*)\.gif$/i", $dir[$i]) && $gd_gif==0)
			{
				if(!isset($dossier) || $dossier=="" || $dossier==".")
				{
					echo "\n<td width=\"$width%\" ><a href=\"./".$dir[$i]."\" target=\"blank\"> (pas de miniature) <br />".rawurldecode($dir[$i]).'</a>';
				}
				else
				{
					echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"_blank\">(pas de miniature) <br />".rawurldecode($dir[$i])."</a>";
				}
				
				if($admin==1)
				{
					echo"<br /> <a href=\"?act=supprimer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">supprimer</a>";
					echo"<br /> <a href=\"?act=renommer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">renommer</a>";
				}

				echo"</td>";
				
			}
			else
			{
				$thumb='';
				//si on doit generer les miniatures
				if($generer==1)
				{
					//si la miniature n'existe pas on la créé 
					if(!file_exists('_thumb_'.rawurldecode($dir[$i]).'.thumb'))
					{
						//generation de la miniature
						$thumb=thumb(rawurldecode($dir[$i]),1);
					}
					
				}
				//si on est a la racine du dossier principal
				//if($path==$dossier)
				if(!isset($dossier) || $dossier=="." || $dossier=="")
				{
					
					//si ont doit generer les miniatures
					if($generer==1 )
					{						

						//on affiche un message d'erreur si la miniature n'a pas pu etre générée
						if($thumb=="faux")
						{
							
							echo "\n<td width=\"$width%\" > <a href=\"".$dir[$i]."\" target=\"blank\">(pas de miniature)<br /> ".rawurldecode($dir[$i])."</a>";
						}
						//sinon, on affiche la miniature
						else
						{
							echo "\n<td width=\"$width%\" > <a href=\"".$dir[$i]."\" target=\"blank\"><img src=\"_thumb_".$dir[$i].".thumb\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
						}
						$thumb='rien';											
					}
					//on genere la miniature à la volé
					else
					{
						echo "\n<td width=\"$width%\" ><a href=\"./".$dir[$i]."\" target=\"blank\"><img src=\"".$nom_page."?act=thumb&img=".$dir[$i].$variable_url."\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
					}
				}
				//sinon, si on est pas a la racine de la galerie
				else
				{
					//si ont doit generer les miniatures
					if($generer==1 )
					{						

						//on affiche un message d'erreur si la miniature n'a pas pu etre générée
						if($thumb=="faux")
						{
							echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"blank\">(pas de miniature)<br /> ".rawurldecode($dir[$i])."</a>";
						}
						//sinon, on affiche la miniature
						else
						{
							echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"blank\"><img src=\"".$dossier."/_thumb_".$dir[$i].".thumb\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
						}
						$thumb='rien';											
					}
					//on genere la miniature à la volé
					else
					{
						//echo "\n<td width=\"$width%\" ><a href=\"./".$dossier."/".$dir[$i]."\" target=\"blank\"><img src=\"".$path."/".$nom_page."?act=thumb&img=".$dir[$i].$variable_url."\" border=\"0\"></a><br />".rawurldecode($dir[$i]);
						echo "\n<td width=\"$width%\" ><a href=\"".$dossier."/".$dir[$i]."\" target=\"blank\"><img src=\"".$nom_page."?act=thumb&img=".$dossier."/".$dir[$i].$variable_url."\" border=\"0\"><br />".rawurldecode($dir[$i])."</a>";
					
					}

						
				}
				
				if($admin==1)
				{
					echo"<br /> <a href=\"?act=supprimer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">supprimer</a>";
					echo"<br /> <a href=\"?act=renommer&dossier=".$dossier."&img=$dir[$i]".$variable_url."\">renommer</a>";
				}
				
				echo"</td>";
				
			}
		}
		else
		{
			echo "\n<td width=\"$width%\">&nbsp;...</td>";
		}
		$i++;
		
		if($i%$nb_colone==0 &&$i!=0)
		{
			if($i<$num)
			echo "\n</tr>\n<tr bgcolor=\"$couleur\">";
			else
			echo "\n</tr>";
			$nb_ligne++;
		}		
	}
	echo"</table>";
}


function afficher_formulaire_upload()
{
		
	echo'<div style="background:#C0C0C0;width:30%;">
	<h4>Formulaire pour uploader une photo</h3>
	<form ENCTYPE="multipart/form-data" method="post" name="upload">	
	<input type="hidden" name="MAX_FILE_SIZE" value="9999999" />
	<input name="mdp" type="password"> password<br />
	<input name="NomFichier" type="file"><br />
	<input type="hidden" name="act" value="upload">
	<input type="SUBMIT" VALUE="Upload">
	<input type="reset" name="Cancel " value="Cancel ">
	</form> </div>';
	
	

}

function afficher_formulaire_recherche()
{
 global $dossier;
echo'<table align="center"><tr><td><form >	
	<input name="mot" type="text">
	<input type="SUBMIT" VALUE="rechercher une image">
	<input type="hidden" name="dossier" value="'.$dossier.'">
	</form></td></tr></table> ';

}

function upload()
{
	global $HTTP_HOST,$REQUEST_URI,$_FILES,$chemin,$dossier,$chemin_entier;
	if (file_exists($_FILES['NomFichier']['name']))
	{
		echo"<h3>un fichier comporte deja ce nom</h3>";
	}
	else
	{	
		
		if(move_uploaded_file($_FILES["NomFichier"]["tmp_name"],$chemin_entier.'/'.$_FILES["NomFichier"]["name"]))
		{
			
			
			$path=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
			
			echo '<h3>"'.$_FILES['NomFichier']['name'].'" a été envoyé sur le serveur avec succées</h3>';
			echo '<p><a href="?dossier='.$dossier.$variable_url.'">retourner à la galerie</a><br /></p>';
			echo '<input type="text" size="72" value="[img]http://'.$_SERVER['HTTP_HOST'].''.$path.'/'.$dossier.'/'.$_FILES['NomFichier']['name'].'[/img]"><br /><br />';
			echo '<img src="http://'.$_SERVER['HTTP_HOST'].''.$path.'/'.$dossier.'/'.$_FILES['NomFichier']['name'].'">';
			
			
		}
		else
		{
		echo "<h3>upload echoué</h3><br />";
		}		
	}


}

function image_erreur($message)
{
	global $max_largeur,$max_longeur;
	$im = ImageCreate ($max_largeur, $max_longeur); /* Create a blank image */
    $bgc = ImageColorAllocate ($im, 200, 200, 200);
    $tc  = ImageColorAllocate ($im, 0, 0, 0);
    ImageFilledRectangle ($im, 0, 0, $max_largeur, $max_longeur, $bgc);
    /* Output an errmsg */
    ImageString($im, 2, 5, 5, $message, $tc);
	//ImageString($im, 2, 5, 15, $img, $tc); 
	return $im;

}


function thumb($img,$generer=0)
{

	global $gd,$max_largeur,$max_longeur,$generer;
	
	//on demande les dimension de l'image $img et son type d'image (png, jpg, gif)
	
	//si on n'arrive pas a voir la taille de l'image gande taille
	if(!$size = getimagesize($img))
	{
		$img_error=image_erreur("erreur: taille inconnu");
		
		if($generer==0)
		{
			
			//on affiche l'image d'erreur
			header("Content-type: image/jpg"); 
			$img_big = imagejpeg($img_error);
			exit();
			
		}
		else
		{
			//on signale qu'il y a une erreur en mettant les variables a zero
			
			//largeur
			$largeur=100;
			$size[0]=100;
			//longeur
			$longeur=100;
			$size[1]=100;
			//on regarde si c'est png jpg gif
			$type=0;	
			//return "faux";
		}
		
	}
	else
	{
		//on regarde si c'est png jpg gif
		$type=$size[2];		
		
		switch($type)
		{

				
			case 2: if(!$img_big =imagecreatefromjpeg($img)){ $img_big=$img_error;}  break;
			case 3: if(!$img_big =imagecreatefrompng($img)) { $img_big=$img_error; } break;
			case 1: if(!$img_big =imagecreatefromgif($img)) { $img_big=$img_error; } break;
		}	

		//largeur
		$largeur=$size[0];
		//longeur
		$longeur=$size[1];

		//on charge l'image $img dans $img_big:	
	}
	

	//on regarde si l'image depasse en longueur
	$depasse_long=$longeur-$max_longeur;
	//on regarde si l'image depasse en largeur
	$depasse_large=$largeur-$max_largeur;
	
	
	//si l'image est + grande que les tailles max ou bien s'il faut generer les images
	if($depasse_long>0 || $depasse_large>0 || $generer==1)
	{
		
		if($depasse_long>$depasse_large)
		{		
			$largeur=($max_longeur/$longeur)*$largeur;
			//echo "$largeur=$max_longeur/$longeur)*$largeur";
			//echo 'longueur:'.$longeur;
			$longeur=$max_longeur;
			//150/243*300
		}
		else
		{
			$longeur=($max_largeur/$largeur)*$longeur;
			//echo 'largeur:'.$largeur;
			//echo '<br />$longeur:'.$longeur;
			$largeur=$max_largeur;	
		}
		
		//echo $size[0]." X ".$size[1].";( $largeur x $longeur)";
		
		
		//on fait une nouvelle image ayant pour dimension: largeur et hauteur
		if($gd=="1")
		{
			$img_mini = imagecreate($largeur,$longeur);
			
		}
		
		else
		{
			$img_mini = imagecreatetruecolor($largeur,$longeur); 
			
		}
		
		
		if($type==0)
		{		
			$type='2';
			$img_big=$img_error;			
		}
	
		//on copie l'image d'origine contenu dans img_big dans img_mini en la reduisant a $largeur pour la largeur et $longeur pour la hauteur:
		//imagecopyresized($img_mini,$img_big,0,0,0,0,$largeur,$longeur,$size[0],$size[1]);
		imagecopyresampled($img_mini,$img_big,0,0,0,0,$largeur,$longeur,$size[0],$size[1]);
		switch($type)
		{
			//si c'est une image jpg
			case 2: 
			//si on genere les miniatures sur le dd
			if($generer==1)
			{
				imagejpeg($img_mini,'_thumb_'.$img.'.thumb'); 
				
			
			}
			else
			{			
				//on enverra au navigateur un fichier de type image au format jpeg
				header("Content-type: image/jpeg");
				//on envoie l'image reduire au navigateur:
				imagejpeg($img_mini); 
				
			}
			
			break;

			case 3:
			if($generer==1)
			{
				imagepng($img_mini,'_thumb_'.$img.'.thumb'); 
				
			
			}
			else
			{
				//on enverra au navigateur un fichier de type image au format png
				header("Content-type: image/png");
				//on envoie l'image reduire au navigateur:
				imagepng($img_mini); 
				
			}
			

			break;

			case 1: 
			
			if($generer==1)
			{
				imagegif($img_mini,'_thumb_'.$img.'.thumb'); 
				
			
			}
			else
			{			
				//on enverra au navigateur un fichier de type image au format gif
				header("Content-type: image/gif");
				//on envoie l'image reduire au navigateur:
				imagegif($img_mini);
				
			}

			break;

			
		}
	

	}

	else
	{
		
		switch($type)
		{
			case 2:header("Content-type: image/jpg"); $img_big = imagejpeg($img_big); break;

			case 3:header("Content-type: image/png"); $img_big = imagepng($img_big); break;

			case 1:header("Content-type: image/gif"); $img_big = imagegif($img_big);break;

			

		}		
	}
	
	return "vrai";
}


function tableau_html($dir,$nb_colone,$couleur1,$couleur2)//"#F0F0F0","#E4E4E4"
{	
	global $admin,$path,$HTTP_HOST,$REQUEST_URI;
	
	$num=count($dir);
	
 	$i=0;
	
	$tableau = "\n<table border=\"0\" width=\"90%\" align=\"center\"><tr bgcolor=\"$couleur1\">";
	$width=100/$nb_colone;
	$nb_ligne=0;
	while($i<$num || $i%$nb_colone!=0)
	{	
		if($nb_ligne%2==0) {$couleur=$couleur2;} else {$couleur=$couleur1;};
		
		
		if($i<$num)
		{
				$tableau .=  "\n<td width=\"$width%\" >";
				$tableau .= $dir[$i];
				$tableau .= "</td>";
		}
		else
		{
			$tableau .= "\n<td width=\"$width%\">&nbsp;</td>";
		}
		$i++;
		
		if($i%$nb_colone==0 &&$i!=0)
		{
			if($i<$num)
			$tableau .= "\n</tr>\n<tr bgcolor=\"$couleur\">";
			else
			$tableau .= "\n</tr>";
			$nb_ligne++;
		}		
	}
	$tableau .= "</table>";
	
	return $tableau;
}

function copyright()
{
	global $version;
	//merci de ne pas enlever cette ligne
	echo "<p align=\"center\">Version: ".$version."<br />
	Téléchargez cette galerie gratuite sur <a href=\"http://www.indexof.fr\" target=\"_blank\">indexof.fr</a></p>";
	

}

?>

Historique

08 janvier 2009 07:38:05 :
nouvelle version
08 janvier 2009 07:41:12 :
le script a maintenant un site officiel: http://www.indexof.fr Version plus recente et amélioré pour les configurations et compatibilité avec global register.

Commentaires et avis

signaler à un administrateur
Commentaire de WhiteDwarf le 29/05/2006 22:02:46

Bonne initiative, surtout venant de quelqu'un qui ne code pas en php ;)
Merci pour cette intervention, et toi aussi si tu as d'autres choses à partager n'hésite pas

@+

signaler à un administrateur
Commentaire de alchimiste25000 le 31/05/2006 22:16:30

Bonjour, je ne suis pas un pro du tout en php, mais le code a l'air propre, cependant j'ai une petite question, pourquoi cette galerie est spéciale pour free ?

signaler à un administrateur
Commentaire de WhiteDwarf le 31/05/2006 22:33:07

Cette galerie n'à rien à voir avec free, mais je pense qu'elle marche dessus, comme beaucoup d'autres ;)

signaler à un administrateur
Commentaire de wizard512 le 31/05/2006 22:35:16

elle est spécialiser pour free car free a ajouter et modifier
quelque variable et fonction ( enfin a ma conaissance )  ^^'

signaler à un administrateur
Commentaire de Azzul le 20/08/2006 16:39:36

Bonjour,
Super code complet (et meme trop avec les fonctions SUpprimer et Renommer mais bon cela peut servir pour les admin). Pour ma part je n'en ai pas besoin donc en m'inspirant (enormement :)p )de ton code epure des fonctionnalitées non souhaitées, un probleme franchement agaçant subsiste! Lorsqu'il créé les images miniatures.......un petit carré blanc avec un croix rouge est a la place de la miniature. Pourtant quand je click sur cette croix.......la bonne image apparait. Quelqu'un pourrait m'aider?
Merci d'avance....
Azzul,
Schuuuuuuuuuuus!!

signaler à un administrateur
Commentaire de fabwis974 le 18/09/2006 12:07:40

salut j'ai testé le scrip php je suis un gros débutant de chez butant et j'aimerais avoir plus de rens sur comment l'installer. enfait il me faudrait savoir ou mettre les images et ou les vignettes et si il faut le faire merci d'avance

signaler à un administrateur
Commentaire de atezis le 26/10/2006 16:14:51

Pour FABWIS974: Le plus simple est de copier le code dans un fichier index.php que tu mets dans ton dossier d'images, le reste se fera tout seul.

Et pour le problème d'Azzul j'ai déjà été confronté à ce pb, mais les croix rouges se mettent de facon aléatoire sur les miniatures à chaque actualisation de la page. Mystere..

signaler à un administrateur
Commentaire de babyblues le 30/10/2006 20:46:38

Pour le problem d'azzul...
J'ai tester sur mon server local et mon error.log d'apache m'indiquait une error getimagesize( img)... un espace apparait devant le nom de chaque image. Il faut corriger les nombreux fautes d'espace sur la page ! Entre autre pour le probleme d'azzul:

echo "\n<td width=\" $width%\" ><a href=\" ".$dir[$i]." \" target=\" blank\"><img src=\" ?act=thumb&img= ".$dir[$i]." \" border=\" 2\"></a><br />" .rawurldecode ($dir[$i]);
PAR
echo "\n<td width=\" $width%\" ><a href=\" ".$dir[$i]." \" target=\" blank\"><img src=\" ?act=thumb&img=".$dir[$i]." \" border=\" 2\"></a><br />" .rawurldecode ($dir[$i]);
ENSUITE:
corriger toutes les variables \" $img PAR \"$img

wouala

signaler à un administrateur
Commentaire de Azzul le 31/10/2006 07:29:27

Merci beaucoup babyblues de ton aides...je vais tester cela!

signaler à un administrateur
Commentaire de perrinolivier le 07/01/2007 20:09:38

Bonjour, suis vraiment novice en la matière, et je cherche une galerie pour présenter des photos sur mon site.

Faut il faire un simple copier coller du code, ou bien y a t il des modifications à faire?

dans quel type de fichier faut il le mettre ?
merci

signaler à un administrateur
Commentaire de mainecoon33 le 15/08/2007 21:47:02

Salut,

merci pour ce script qui fonctionne au poil, simple, rapide.... j'ai mis 9/10 ( et pas 10 car j'ai pu voir qu'il n'est pas valide W3C...).

Sinon, j'ai mis quelques photos mais combien peut t'il en supporter ?  est il possible de faire par exmple 30 photos puis que ça affiche sur la page suivante ?


Sinon, je conseille d'enlever la bordure de 2 pixels ( remplacer 2 par 0 sur la ligne 288 ).

Merci et si quelqu'un à la réponse à mes 2 petites questions...

signaler à un administrateur
Commentaire de mainecoon33 le 21/02/2008 11:15:44

Encore moi,

je viens de tester ceci sur un hébergeur payant ...mais ça ne fonctionne pas (pas d'affichage des miniatures et téléchargement impossible !

j'adore cette mini galerie, et mon hébergeur me dit qu'ils ont désactivé "register_global". Savez vous comment on peut utiliser cette galerie photo avec cette option désactivée?

merci

signaler à un administrateur
Commentaire de mainecoon33 le 22/02/2008 14:38:11

Bon et bien merci à un participant de WRI qui m'a donné la solution :

foreach ($_POST as $key => $value) $$key = addslashes($value);
foreach ($_GET as $key => $value) $$key = addslashes($value);

a mettre au début du script...et voilà !

signaler à un administrateur
Commentaire de forummp3 le 25/12/2008 23:14:44

Bonjour, je suis l'auteur de cette galerie que j'avais mis a disposition sur certain forum, dommage, que l'origine soit perdu.

Pour cela, le script a maintenant un site officiel: http://www.indexof.fr
Version plus recente et amélioré pour les configurations et compatibilité avec global register.

signaler à un administrateur
Commentaire de forummp3 le 25/12/2008 23:16:14

ps: en tout cas content que ma galerie sert et plait a des personnes !

signaler à un administrateur
Commentaire de mbo74 le 20/01/2009 21:54:03

Bonjour à tous,
Cette galerie me plait beaucoup, elle est tres simple, exactement ce que je recherche.
Alors, j'ai essayé d'installer le dernier sript qui est sur le site Indexof.fr et malheureusement pour moi ca ne fonctionne pas!
J'ai fait un simple copier coller du fichier index dans la racine du site et j'ai l'erreur suivante lorsque j'ouvre la page:

PHP Notice: Undefined index: DOCUMENT_ROOT in D:\WWWRoot\Nom de mon site\index.php on line 115

En plus, le telechargement est impossible.
Je n'y connais rien en PHP.
Merci pour votre aide.

signaler à un administrateur
Commentaire de forummp3 le 20/01/2009 22:38:28

le probleme vient de la configuration de ton serveur, va dans http.conf et regarde si le DocumentRoot est bien configuré (apparement, c'est meme pas configuré vu ton erreur).

tu devrais avoir:

DocumentRoot "D:\WWWRoot\"

d'apres ton message d'erreur

signaler à un administrateur
Commentaire de dimitrimallie le 21/03/2009 12:21:05

Bonjour, je n'arrive pas à modifier la taille des images même en modifiant les variables $max_largeur et $max_longeur dans la partie configuration. pouvez vous m'aider ? Merci

signaler à un administrateur
Commentaire de forummp3 le 21/03/2009 18:13:35

Salut, il faut supprimer les miniatures qui ont été générées sur le serveur. Elles finissent par .thumb

signaler à un administrateur
Commentaire de cedbos le 22/04/2009 16:02:50

en tout cas jte remercie bien car cette source est super simple pour moi qui n'y connait rien
juste une petite question , j'aimerai uploadé des photo de grande taille ... haute qualité
et je voudrait juste savoir si c'est possible de modifier la taille maximun pour l'upload ???
en tout cas merci pour ta source  et merci pour votre futur reponse

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Pb avec getimagesize [ par babid ] Salut, En fait mon problème vient de la fonction getimagesize, l'erreur est : Warning: getimagesize : Unable to open ....Pour situer, je travaille en pb de variables dans un formulaire d'upload [ par attentio ] salut ! j'ai un formulaire qui me permet d'administrer une table (collections) et en meme temps d'uploader des images.mais voila quand j'ajoute une co Galerie photo pour garage ;) [ par Macload ] Bonjour,voilà , on m'a conseillez se site qui à l'air excelent ;)L'histoire c"est que je met en place un site pour un garage .Il y aura une gallerie p Upload d'image par methode POST ... [ par psychoz ] J'en ai marre !Je cherche a envoyer une photo sur un site ...Je le faisait avec un client ftp, ensuite j'ai utilisé ftp et php ...Et maintenant je vou Pb upload [ par crecharlo ] Salut j'ai un Pb avec ma page d'upload: il n'y a pas d'erreur mais elle upload rien!! Source de envoi.php: &lt;form name="envoi" method="post" action upload d'images [ par progDev ] Salut, Voil&#224;, j'ai un probl&#232;me avec l'upload... J'ai trouv&#233; pas mal de script &#224; droite &#224; gauche mais &#231;a ne fonctionne p probleme upload photo [ par JohnInsane ] Bonjour &#224; tous, Voil&#224; j'ai un probl&#232;me, j'ai cr&#233;e un formulaire avec upload de photo en php qui capture le nom du fichier photo Upload Image [ par piep14 ] Bonjour, je dois faire un upload d'une photo. J'ai donc fait ceci :&nbsp;&nbsp;&nbsp;&lt;?&nbsp;&nbsp;&nbsp;$date = date('Y/m/d H:i:S');&nbsp;&nbsp;&n upload en php [ par jennet ] salut a tous, j'ai essay&#233; de faire un upload en php qui permet a l'utilisateur d'envoyer une photo en parcourant son ordi.... et cette photo est upload multiple et insert chemin dans base de données [ par gwena54 ] salut &#224; tous, je galere sur un probleme chiant depuis un bout de temps j'ai cr&#233;&#233;e un formulaire d'upload de plusieurs input j'arrive &#


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 26,005 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.