Accueil > > > DIAPORAMA AVEC AJOUT ET REDIMENSIONEMENT DE PHOTOS, CRÉATION DE COINS ARRONDIS EN PHP ET AFFICHAGE EN JAVASCRIPT
DIAPORAMA AVEC AJOUT ET REDIMENSIONEMENT DE PHOTOS, CRÉATION DE COINS ARRONDIS EN PHP ET AFFICHAGE EN JAVASCRIPT
Information sur la source
Description
Bonjour, voici un script permettant de générer un diaporama en javascript affichant les photos extraite d'un répertoire. Le script permet d'uploader et de supprimer une photo, d'arrondir ses angles, de la redimensionner et de créer une miniature de la photo. Le code nécessite trois autres fichier et un dossier image pour fonctionner (pour l'affichage de la partie javascript). Je suis débutant et comme beaucoup d'entre vous autodidacte ... C'est pourquoi je m'excuse d'avance des possibles incohérence dans mon code ainsi que dans mes commentaires ... La partie javascript du diaporama a été récupéré sur un autre site, mais je ne me souvient plus de l'auteur. Je le remercie encore si il se reconnaît. Mais vous pourrez utiliser le diapo que vous voudrez. J'espère que vous aurez de nombreux commentaires afin de m'aider a améliorer ce bout de code. Merci d'avance. Giloum. Voici la deuxième version de ce code, modifié par Crasygogo.
Source
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
-
- <head>
- <title>Diaporama</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" type="text/css" href="../../css/diaporama.css" />
- <style type="text/css">
- body
- {
- background: white;
- font-family:Arial, Helvetica, sans-serif;
- }
- div#container
- {
- text-align: left;
- }
- a
- {
- color: #385898;
- font-size:14px;
- font-weight:bold;
- text-decoration:none;
- }
- legend
- {
- color: #385898;
- font-size:12px;
- }
- </style>
- <script type="text/javascript" src="../../javascript/jquery-1.3.1.js"></script>
- <script type="text/javascript" src="../../javascript/jquery.transition-0.2.1.pack.js"></script>
- </head>
-
- <body>
- <?php
- /*********************** PARAMETRAGE DU SCRIPT ***********************/
-
- // Hauteur maxi des images
- define("HAUTEUR_MAXI_IMAGE", "300");
-
- // Hauteur maxi des miniatures
- define("HAUTEUR_MAXI_THUMB", "50");
-
- // Poids maxi d'un fichier
- define("POIDS_FICHIER_MAX", "20000000");
-
- // Rayon de l'arrondi d'une image
- define("RAYON_ARRONDI_IMAGE", "30");
-
- // Rayon de l'arrondi d'une miniature
- define("RAYON_ARRONDI_THUMB", "10");
-
- // Titre du diaporama
- define("GALLERY_TITLE", "Diaporama");
-
- // Démarage automatique
- define("GALLERY_AUTORUN", "true");
-
- // Temps d'affichage de chaque image
- define("GALLERY_IMAGE_DISPLAY_TIME", "2000");
-
- // Durée de la transition
- define("GALLERY_IMAGE_TRANSITION_TIME", "500");
-
- // Hauteur maxi des images de la galerie
- define("GALLERY_IMAGE_MAX_HEIGHT", "300");
-
- // Largeur maxi des images de la galerie
- define("GALLERY_IMAGE_MAX_WIDTH", "400");
-
- // Hauteur maxi des miniatures de la galerie
- define("GALLERY_THUMB_MAX_HEIGHT", "50");
-
- // Largeur maxi des miniatures de la galerie
- define("GALLERY_THUMB_MAX_WIDTH", "66");
-
- // Afficher le titre du diaporama
- define("GALLERY_DISPLAY_TITLE", "true");
-
- // Afficher le titre des images
- define("GALLERY_DISPLAY_CAPTION", "true");
-
- // Affichage en Consultation ou en Modification selon cette variable:
- $_SESSION['admin']=true;
-
- /******************* FIN DU PARAMETRAGE DU SCRIPT ********************/
-
- // On appelle la fonction avec en paramètre le nom du dossier à scanner:
- diaporama("../images_diaporama");
-
-
-
- /***********************************************************************************************************************************************************************
- SCIPT PERMETTANT DE GENERER UN DIAPORAMA EN JAVASCRIPT AFFICHANT AUTOMATIQUEMENT LES PHOTOS EXTRAITES D'UN REPERTOIRE.
- APRES VERIFICATION DES DROITS D'UTILISATEURS, LE SCRIPT PERMET D'UPLOADER, D'ARRONDIR LES ANGLES, DE REDIMENSIONNER, ET DE CREER UNE MINIATURE DE LA PHOTO.
- ***********************************************************************************************************************************************************************/
-
- /**********************************************************************************************
- Fonction permettant l'ajout d'une photo.
- $dossier_destination est le dossier de destination ou les fichiers seront enregistré,
- si le dossier n'existe pas, il sera crée automatiquement ainsi que le sous dossier contenant les mininiature.
- Le chemin du dossier doit etre indiqué depuis la page ou l'on appelle la fonction.
- Les extensions autorisées sont 'png', 'PNG', 'gif', 'GIF', 'jpg', 'JPG', 'jpeg', 'JPEG'.
- $code_couleur_fond est la couleur de fond du diaporama
- **********************************************************************************************/
- function diaporama($dossier_destination)
- {
- // On verifie que l'utilisateur possede les droit pour administrer le script
- if(isset ($_SESSION['admin']) && $_SESSION['admin']==true)
- {
-
- // On verifie que le dossier ou l'on veut enregistrer existe, sinon on le creér en lui donnant les droit 755
- if(is_dir ($dossier_destination )==false)
- {
- mkdir ("$dossier_destination",0755);
- }
-
- // On verifie que le dossier ou l'on veut enregistrer les miniatures existe, sinon on le creér en lui donnant les droit 755
- $dossier_miniature = $dossier_destination."/miniature";
- if(is_dir($dossier_miniature )==false)
- {
- mkdir("$dossier_miniature",0755);
- }
-
- // Si l'utilisateur arrive sur cette page en voulant supprimer une photo
- if(isset($_GET['supprimerphoto']))
- {
- $_GET['supprimerphoto'] = utf8_decode($_GET['supprimerphoto']);
- // On teste si les fichiers existent
- if(file_exists($dossier_destination.'/'.$_GET['supprimerphoto']))
- {
- // On suprime le fichier
- unlink($dossier_destination.'/'.$_GET['supprimerphoto']);
- }
- if(file_exists($dossier_destination.'/miniature/'.$_GET['supprimerphoto']))
- {
- // On suprime le fichier
- unlink($dossier_destination.'/miniature/'.$_GET['supprimerphoto']);
- }
- } // fin du isset($_GET['supprimerphoto'])
-
- // On teste si la variable $_FILES declare une erreur
- if(isset($_FILES['fichier']['error']))
- {
- switch ($_FILES['fichier']['error'])
- {
- case 1: // UPLOAD_ERR_INI_SIZE
- echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
- break;
- case 2: // UPLOAD_ERR_FORM_SIZE
- echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
- break;
- case 3: // UPLOAD_ERR_PARTIAL
- echo "L'envoi du fichier a été interrompu pendant le transfert !";
- break;
- case 4: // UPLOAD_ERR_NO_FILE
- echo "Le fichier que vous avez envoyé a une taille nulle !";
- break;
- }// Fin du switch
- } // Fin du isset($_FILES['fichier']['error'])
-
- // On teste si un fichier a eté envoyé
- if(isset($_FILES['fichier']))
- {
- // On teste si le fichier n'est pas trop gros
- if($_FILES['fichier']['size'] <= POIDS_FICHIER_MAX)
- {
- // On décode le nom du fichier
- $_FILES['fichier']['name'] = utf8_decode($_FILES['fichier']['name']);
-
- // On recupere le type d'extension du fichier et on le place dans $extension_upload
- $infosfichier = pathinfo($_FILES['fichier']['name']);
- $extension_upload = strtolower($infosfichier['extension']);
-
- // On donne la liste des extensions autorisées
- $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
-
- // On verifie si l'extension du fichier correspond a une extension autorisé
- if (in_array($extension_upload, $extensions_autorisees))
- {
- // on creer le chemin du repertoire de destination
- $chemin_fichier=$dossier_destination.'/';
- $chemin_fichier_miniature=$dossier_miniature.'/';
-
- // On copie le fichier original dans le repertoire courant
- // Copier d'abord le fichier permet d'economiser la memoire du serveur
- move_uploaded_file($_FILES['fichier']['tmp_name'], $_FILES['fichier']['name']);
-
- // On fixe les droit sur le fichier a 0644
- chmod($_FILES['fichier']['name'],0644);
-
- // On redimensione le fichier image pour créer un fichier image png de dimension reduite
- $nom_fichier_modifier = redimensionner_image($_FILES['fichier']['name'], HAUTEUR_MAXI_IMAGE, $chemin_fichier);
-
- // On arondi les angles de l'image
- arrondir_angle($nom_fichier_modifier, RAYON_ARRONDI_IMAGE);
-
- // On redimensione le fichier reduit pour créer une miniature
- $nom_fichier_miniature = redimensionner_image($_FILES['fichier']['name'], HAUTEUR_MAXI_THUMB, $chemin_fichier_miniature);
-
- // On arondi les angles de l'image miniature
- arrondir_angle($nom_fichier_miniature, RAYON_ARRONDI_THUMB);
-
- // On suprime le fichier original
- unlink($_FILES['fichier']['name']);
-
- }// Fin du test de l'extension
- else echo "extension non autorisée";
- } // Fin du test du poid du fichier
- else echo "fichier trop lourd";
- }// Fin de l'isset $_FILES['fichier']
- }// fin du if $_SESSION['admin']==true
-
- // On affiche le diaporama recuperant les photos dans le repertoire $dossier_destination
- afficher_diaporama($dossier_destination);
-
- // On verifie que l'utilisateur possede les droit pour administrer le script
- if(isset ($_SESSION['admin'])&&$_SESSION['admin']==true)
- {
- // On affiche le formulaire d'envoi d'une image
- ?> <center>
- <br /><hr />
- <form method="POST" action="#" enctype="multipart/form-data">
- <fieldset style="width:340px;"><legend> Ajouter une image </legend>
- <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo POIDS_FICHIER_MAX; ?>" />
- <input type="file" name="fichier" size="35" /><br />
- <input type="submit" name="envoi" value="Envoyer la photo" />
- </fieldset>
- </form>
- </center><?php
- // Fin du formulaire
-
- // On affiche les photos et un lien pour les suprimer
- afficher_suprimer_photos($dossier_destination);
- }
- }// Fin fonction diaporama
-
-
- /**********************************************************************************************
- FONCTION PERMETTANT DE REDIMENSIONER UNE PHOTO A UNE TAILLE VOULU
- La variable $image corespond a l'image source
- Les variable $hauteur et $largeur corespondent a la largeur-maxi et la hauteur-maxi voulu
- La variable $masque correspond a l'image que l'on superposera a l'image de depart
- La variable $chemin_fichier correspond au dossier de destination + / + nom de fichier original
- **********************************************************************************************/
- function redimensionner_image($image, $hauteur, $chemin_fichier)
- {
- // On recupere l'extension de l'image
- $infosfichier = pathinfo($image);
- $extension = strtolower($infosfichier['extension']);
- switch($extension)
- {
- case "jpg" : $image_create=imagecreatefromjpeg($image); break;
- case "jpeg" : $image_create=imagecreatefromjpeg($image); break;
- case "gif" : $image_create=imagecreatefromgif($image); break;
- case "png" : $image_create=imagecreatefrompng($image); break;
- }
-
- // on recupere la taille de l'image
- $taille=getimagesize($image);
- // echo "Hauteur originale de l'image: ".$taille[1]."<br />";
- // echo "Largeur originale de l'image: ".$taille[0]."<br />";
-
- // on calcule le ratio de redimentionement entre la hateur de l'image et la hauteur voulu
- $ratio=$taille[1]/$hauteur;
- // echo "ratio= ".$ratio."<br />";
-
- // On calcule les nouvelles dimensions de l'image
- $new_largeur=$taille[0]/$ratio;
- $new_hauteur=$taille[1]/$ratio;
- // echo "Nouvelle Hauteur de l'image: ".$new_hauteur."<br />";
- // echo "Nouvelle Largeur de l'image: ".$new_largeur."<br /><br />";
-
- // On creer l'image de destination vide avec les nouvelles dimensions
- $new_image = imagecreatetruecolor($new_largeur, $new_hauteur);
-
- // On copie l'image uploader dans l'image vide
- $copy = imagecopyresampled($new_image, $image_create, 0, 0, 0, 0, $new_largeur, $new_hauteur, $taille[0], $taille[1]);
-
- // On remplace l'extension du fichier image par png
- $nom_du_fichier_png = str_replace($infosfichier['extension'],"png",$infosfichier['basename']);
-
- // On enregistre l'image au format png
- imagepng($new_image,$chemin_fichier."/".$nom_du_fichier_png);
-
- // On detruit l'image $new_image
- imagedestroy($new_image);
-
- // On renvoie le chemin du fichier créé
- return $chemin_fichier."/".$nom_du_fichier_png;
- }// Fin de la fontion redimensionner_image
-
-
- /**********************************************************************************************
- FONCTION PERMETTANT D'AFFICHER ET DE SUPRIMER UNE PHOTO
- On scanne le dossier afin de recuperer la liste de toutes les photos
- On affiche la liste des photos avec un lien permettant de suprimer la photo selectionée
- **********************************************************************************************/
- function afficher_suprimer_photos($dossier_destination)
- {
- // On verifie que le dossier de destination existe
- if(is_dir ($dossier_destination)==false)
- {
- echo "Dossier de destination inexistant ";
- }
- else
- {
- // On ouvre le dossier ou se trouve les photos
- $dossier = opendir($dossier_destination) or die('Erreur');
-
- // On donne la liste des extensions de fichier a afficher
- $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
-
- echo "\r\n <center>";
- // On affiche les photos contenu dans le dossier
- while($resultat = readdir($dossier))
- {
- // On teste si $resultat n'est pas un dossier ou un lien parrent
- if($resultat != '.' && $resultat != '..' && !is_dir($dossier_destination."/".$resultat) )
- {
- // Encode le nom du fichier
- $resultat = utf8_encode($resultat);
- // On recupere l'extension du fichier
- $infosfichier = pathinfo($resultat);
- $extension = strtolower($infosfichier['extension']);
-
- // On verifie si l'extension du fichier correspond a une extension autorisé
- if(in_array($extension, $extensions_autorisees))
- {
- // Pour lisibilité du code généré:
- echo "\r\n ";
- // On affiche la photo avec un lien pointant sur cette meme page avec en argument $_GET le nom de la photo
- echo "<hr /><br /><a href='?supprimerphoto=".$resultat."'>Supprimer la photo: ".$resultat."</a><br /><br />";
- // Pour lisibilité du code généré:
- echo "\r\n ";
- // On affiche la photo avec un lien pointant sur cette meme page avec en argument $_GET le nom de la photo
- echo '<img src="'.$dossier_destination.'/miniature/'.$resultat.'" ><br /><br /><img src="'.$dossier_destination.'/'.$resultat.'" ><br /><br />';
- }
- }
- }// Fin du while
- // On referme le dossier
- closedir($dossier);
- echo "\r\n </center>";
- }// fin du else verification d'existance du dossier
- }// Fin de la fonction afficher_suprimer_photos
-
-
- /**********************************************************************************************
- FONCTION PRINCIPALE QUI S'OCCUPE DE SCANNER LE DOSSIER ET AFFICHER LE DIAPORAMA
- $dossier_destination: Le dossier à scanner pour afficher le diaporama
- **********************************************************************************************/
- function afficher_diaporama($dossier_destination)
- {
- // On ouvre le dossier ou se trouvent les photos
- $dossier = opendir($dossier_destination) or die('Erreur');
-
- // On donne la liste des extensions autorisées
- $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
-
- $contenu_dossier_photo = array();
- $nom_photo = array();
- // on affiche toutes les photos contenu dans le dossier
- while($resultat = readdir($dossier))
- {
- // On teste si $resultat n'est pas un dossier ou un lien parrent
- if($resultat != '.' && $resultat != '..' && !is_dir($dossier_destination."/".$resultat) )
- {
- // Encode le nom du fichier
- $resultat = utf8_encode($resultat);
-
- $fileChunks = array_reverse(explode(".", $resultat));
- $extension_resultat = strtolower($fileChunks[0]);
-
- // On verifie si l'extension du fichier correspond a une extension autorisé
- if(in_array($extension_resultat, $extensions_autorisees))
- {
- // On integre toute les photos dans un array $contenu_dossier_photo
- $contenu_dossier_photo[]=$resultat;
- $nom_photo[]=$fileChunks[1];
- }
- }// Fin du test de $resultat
- } //Fin du while
-
- // On recupere l'indice du dernier enregistrement de l'array $contenu_dossier_photo
- $nb_photos=count($contenu_dossier_photo);
-
- // On genere le code javascript permettant d'afficher le diaporama
- if($nb_photos > 0)
- {
- ?>
- <script type="text/javascript">
- $(document).ready(function(){
- $('#diaporama').transition({
- title: '<?php echo GALLERY_TITLE ?>', // Gallery title
- autoRun: <?php echo GALLERY_AUTORUN ?>, // Autorun slideshow ?
- displayTime: <?php echo GALLERY_IMAGE_DISPLAY_TIME ?>, // How long an image is displayed
- transitionTime: <?php echo GALLERY_IMAGE_TRANSITION_TIME ?>, // Duration of the fade in/fade out effect
- width: <?php echo GALLERY_IMAGE_MAX_WIDTH ?>, // Maximum width of the gallery images
- height: <?php echo GALLERY_IMAGE_MAX_HEIGHT ?>, // Maximum height of the gallery images
- thumbs: <?php echo $nb_photos ?>, // Number of thumbnails to display
- thumbSize: {width: <?php echo GALLERY_THUMB_MAX_WIDTH ?>, height: <?php echo GALLERY_THUMB_MAX_HEIGHT ?>}, // Size of each thumbnail
- displayTitle: <?php echo GALLERY_DISPLAY_TITLE ?>, // Display the gallery title
- displayCaption: <?php echo GALLERY_DISPLAY_CAPTION ?>, // Display the images caption
- images : [<?php
- // On affiche toute les lignes correspondant aux photos
- for($i=0; $i<$nb_photos; $i++)
- {
- // Pour lisibilité du code généré:
- echo "\r\n ";
- // Insertion de l'image:
- echo "{image: '".$dossier_destination."/".$contenu_dossier_photo[$i]."', thumb: '".$dossier_destination."/miniature/".$contenu_dossier_photo[$i]."', title: '".$nom_photo[$i]."'}";
- // Pas de virgule après la dernière image:
- if($i<$nb_photos-1)
- {
- echo",";
- }
- } // Fin du for
- // Pour lisibilité du code généré:
- echo "\r\n ";
- ?>]
- });
- });
- </script>
- <div id="container">
- <div id="diaporama"></div>
- </div>
- <?php
- }// Fin du code generé
- }// Fin de la fonction afficher_diaporama
-
-
- /**********************************************************************************************
- FONCTION PERMETTANT D'ARRONDIR LES ANGLES DE LA PHOTO $image
- La photo doit etre au format png
- On créer 4 images png correspondant au 4 angles
- On superpose ces 4 images a l'image de depart
- **********************************************************************************************/
- function arrondir_angle($image, $rayon_arrondi)
- {
- // Cette partie peut etre activé si le fichier source n'est pas au format png
- $image_create=imagecreatefrompng ($image);
-
- // on recupere la taille de l'image
- $taille=getimagesize($image);
-
- // On determine la largeur et la hauteur de l'image contenant les coin
- $largeur_coin = $rayon_arrondi/2;
- $hauteur_coin = $rayon_arrondi/2;
-
- // ********* Coin Bas Gauche ********/
- // On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
- $image_coin = imagecreate($largeur_coin, $hauteur_coin);
- // On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
- $couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
- // On attribu une couleur transparente
- $couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
- // On rend la couleur blanche transparente
- imagecolortransparent($image_coin, $couleur_transparente_coin);
- // On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
- imagefilledellipse($image_coin,$rayon_arrondi-$largeur_coin,0, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
- // On copie l'image $image_coin sur l'image principal $image
- imagecopy($image_create, $image_coin, 0, $taille[1]-$largeur_coin, 0, 0, $largeur_coin, $hauteur_coin);
- // On detruit l'image du coin
- imagedestroy($image_coin);
-
- // ********* Coin Bas Droit ********/
- // On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
- $image_coin = imagecreate($largeur_coin, $hauteur_coin);
- // On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
- $couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
- // On attribu une couleur transparente
- $couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
- // On rend la couleur blanche transparente
- imagecolortransparent($image_coin, $couleur_transparente_coin);
- // On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
- imagefilledellipse($image_coin,0,0, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
- // On copie l'image $image_coin sur l'image principal $image
- imagecopy($image_create, $image_coin, $taille[0]-$largeur_coin, $taille[1]-$hauteur_coin, 0, 0, $largeur_coin, $hauteur_coin);
- // On detruit l'image du coin
- imagedestroy($image_coin);
-
- // ********* Coin Haut Gauche ********/
- // On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
- $image_coin = imagecreate($largeur_coin, $hauteur_coin);
- // On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
- $couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
- // On attribu une couleur transparente
- $couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
- // On rend la couleur blanche transparente
- imagecolortransparent($image_coin, $couleur_transparente_coin);
- // On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
- imagefilledellipse($image_coin,$rayon_arrondi-$hauteur_coin,$rayon_arrondi-$largeur_coin, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
- // On copie l'image $image_coin sur l'image principal $image
- imagecopy($image_create, $image_coin, 0, 0, 0, 0, $largeur_coin, $hauteur_coin);
- // On detruit l'image du coin
- imagedestroy($image_coin);
-
- // ********* Coin Haut droit ********/
- // On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
- $image_coin = imagecreate($largeur_coin, $hauteur_coin);
- // On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
- $couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
- // On attribu une couleur transparente
- $couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
- // On rend la couleur blanche transparente
- imagecolortransparent($image_coin, $couleur_transparente_coin);
- // On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
- imagefilledellipse($image_coin,0,$rayon_arrondi-$largeur_coin, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
- // On copie l'image $image_coin sur l'image principal $image
- imagecopymerge($image_create, $image_coin, $taille[0]-$largeur_coin, 0, 0, 0, $largeur_coin, $hauteur_coin,100 );
- // On detruit l'image du coin
- imagedestroy($image_coin);
-
- // On rend la couleur noir transparent, transparente ...
- $couleur_a_rendre_transparente = imagecolorallocatealpha($image_create, 0, 0, 0, 0);
- imagecolortransparent($image_create, $couleur_a_rendre_transparente);
-
- // On enregistre l'image png de la photo et des coins arrondis
- imagepng($image_create,$image);
-
- // On detruit l'image créer
- imagedestroy($image_create);
-
- } // Fin de la fonction arrondir_angle
- ?>
- </body>
- </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<title>Diaporama</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../../css/diaporama.css" />
<style type="text/css">
body
{
background: white;
font-family:Arial, Helvetica, sans-serif;
}
div#container
{
text-align: left;
}
a
{
color: #385898;
font-size:14px;
font-weight:bold;
text-decoration:none;
}
legend
{
color: #385898;
font-size:12px;
}
</style>
<script type="text/javascript" src="../../javascript/jquery-1.3.1.js"></script>
<script type="text/javascript" src="../../javascript/jquery.transition-0.2.1.pack.js"></script>
</head>
<body>
<?php
/*********************** PARAMETRAGE DU SCRIPT ***********************/
// Hauteur maxi des images
define("HAUTEUR_MAXI_IMAGE", "300");
// Hauteur maxi des miniatures
define("HAUTEUR_MAXI_THUMB", "50");
// Poids maxi d'un fichier
define("POIDS_FICHIER_MAX", "20000000");
// Rayon de l'arrondi d'une image
define("RAYON_ARRONDI_IMAGE", "30");
// Rayon de l'arrondi d'une miniature
define("RAYON_ARRONDI_THUMB", "10");
// Titre du diaporama
define("GALLERY_TITLE", "Diaporama");
// Démarage automatique
define("GALLERY_AUTORUN", "true");
// Temps d'affichage de chaque image
define("GALLERY_IMAGE_DISPLAY_TIME", "2000");
// Durée de la transition
define("GALLERY_IMAGE_TRANSITION_TIME", "500");
// Hauteur maxi des images de la galerie
define("GALLERY_IMAGE_MAX_HEIGHT", "300");
// Largeur maxi des images de la galerie
define("GALLERY_IMAGE_MAX_WIDTH", "400");
// Hauteur maxi des miniatures de la galerie
define("GALLERY_THUMB_MAX_HEIGHT", "50");
// Largeur maxi des miniatures de la galerie
define("GALLERY_THUMB_MAX_WIDTH", "66");
// Afficher le titre du diaporama
define("GALLERY_DISPLAY_TITLE", "true");
// Afficher le titre des images
define("GALLERY_DISPLAY_CAPTION", "true");
// Affichage en Consultation ou en Modification selon cette variable:
$_SESSION['admin']=true;
/******************* FIN DU PARAMETRAGE DU SCRIPT ********************/
// On appelle la fonction avec en paramètre le nom du dossier à scanner:
diaporama("../images_diaporama");
/***********************************************************************************************************************************************************************
SCIPT PERMETTANT DE GENERER UN DIAPORAMA EN JAVASCRIPT AFFICHANT AUTOMATIQUEMENT LES PHOTOS EXTRAITES D'UN REPERTOIRE.
APRES VERIFICATION DES DROITS D'UTILISATEURS, LE SCRIPT PERMET D'UPLOADER, D'ARRONDIR LES ANGLES, DE REDIMENSIONNER, ET DE CREER UNE MINIATURE DE LA PHOTO.
***********************************************************************************************************************************************************************/
/**********************************************************************************************
Fonction permettant l'ajout d'une photo.
$dossier_destination est le dossier de destination ou les fichiers seront enregistré,
si le dossier n'existe pas, il sera crée automatiquement ainsi que le sous dossier contenant les mininiature.
Le chemin du dossier doit etre indiqué depuis la page ou l'on appelle la fonction.
Les extensions autorisées sont 'png', 'PNG', 'gif', 'GIF', 'jpg', 'JPG', 'jpeg', 'JPEG'.
$code_couleur_fond est la couleur de fond du diaporama
**********************************************************************************************/
function diaporama($dossier_destination)
{
// On verifie que l'utilisateur possede les droit pour administrer le script
if(isset ($_SESSION['admin']) && $_SESSION['admin']==true)
{
// On verifie que le dossier ou l'on veut enregistrer existe, sinon on le creér en lui donnant les droit 755
if(is_dir ($dossier_destination )==false)
{
mkdir ("$dossier_destination",0755);
}
// On verifie que le dossier ou l'on veut enregistrer les miniatures existe, sinon on le creér en lui donnant les droit 755
$dossier_miniature = $dossier_destination."/miniature";
if(is_dir($dossier_miniature )==false)
{
mkdir("$dossier_miniature",0755);
}
// Si l'utilisateur arrive sur cette page en voulant supprimer une photo
if(isset($_GET['supprimerphoto']))
{
$_GET['supprimerphoto'] = utf8_decode($_GET['supprimerphoto']);
// On teste si les fichiers existent
if(file_exists($dossier_destination.'/'.$_GET['supprimerphoto']))
{
// On suprime le fichier
unlink($dossier_destination.'/'.$_GET['supprimerphoto']);
}
if(file_exists($dossier_destination.'/miniature/'.$_GET['supprimerphoto']))
{
// On suprime le fichier
unlink($dossier_destination.'/miniature/'.$_GET['supprimerphoto']);
}
} // fin du isset($_GET['supprimerphoto'])
// On teste si la variable $_FILES declare une erreur
if(isset($_FILES['fichier']['error']))
{
switch ($_FILES['fichier']['error'])
{
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !";
break;
}// Fin du switch
} // Fin du isset($_FILES['fichier']['error'])
// On teste si un fichier a eté envoyé
if(isset($_FILES['fichier']))
{
// On teste si le fichier n'est pas trop gros
if($_FILES['fichier']['size'] <= POIDS_FICHIER_MAX)
{
// On décode le nom du fichier
$_FILES['fichier']['name'] = utf8_decode($_FILES['fichier']['name']);
// On recupere le type d'extension du fichier et on le place dans $extension_upload
$infosfichier = pathinfo($_FILES['fichier']['name']);
$extension_upload = strtolower($infosfichier['extension']);
// On donne la liste des extensions autorisées
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
// On verifie si l'extension du fichier correspond a une extension autorisé
if (in_array($extension_upload, $extensions_autorisees))
{
// on creer le chemin du repertoire de destination
$chemin_fichier=$dossier_destination.'/';
$chemin_fichier_miniature=$dossier_miniature.'/';
// On copie le fichier original dans le repertoire courant
// Copier d'abord le fichier permet d'economiser la memoire du serveur
move_uploaded_file($_FILES['fichier']['tmp_name'], $_FILES['fichier']['name']);
// On fixe les droit sur le fichier a 0644
chmod($_FILES['fichier']['name'],0644);
// On redimensione le fichier image pour créer un fichier image png de dimension reduite
$nom_fichier_modifier = redimensionner_image($_FILES['fichier']['name'], HAUTEUR_MAXI_IMAGE, $chemin_fichier);
// On arondi les angles de l'image
arrondir_angle($nom_fichier_modifier, RAYON_ARRONDI_IMAGE);
// On redimensione le fichier reduit pour créer une miniature
$nom_fichier_miniature = redimensionner_image($_FILES['fichier']['name'], HAUTEUR_MAXI_THUMB, $chemin_fichier_miniature);
// On arondi les angles de l'image miniature
arrondir_angle($nom_fichier_miniature, RAYON_ARRONDI_THUMB);
// On suprime le fichier original
unlink($_FILES['fichier']['name']);
}// Fin du test de l'extension
else echo "extension non autorisée";
} // Fin du test du poid du fichier
else echo "fichier trop lourd";
}// Fin de l'isset $_FILES['fichier']
}// fin du if $_SESSION['admin']==true
// On affiche le diaporama recuperant les photos dans le repertoire $dossier_destination
afficher_diaporama($dossier_destination);
// On verifie que l'utilisateur possede les droit pour administrer le script
if(isset ($_SESSION['admin'])&&$_SESSION['admin']==true)
{
// On affiche le formulaire d'envoi d'une image
?> <center>
<br /><hr />
<form method="POST" action="#" enctype="multipart/form-data">
<fieldset style="width:340px;"><legend> Ajouter une image </legend>
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo POIDS_FICHIER_MAX; ?>" />
<input type="file" name="fichier" size="35" /><br />
<input type="submit" name="envoi" value="Envoyer la photo" />
</fieldset>
</form>
</center><?php
// Fin du formulaire
// On affiche les photos et un lien pour les suprimer
afficher_suprimer_photos($dossier_destination);
}
}// Fin fonction diaporama
/**********************************************************************************************
FONCTION PERMETTANT DE REDIMENSIONER UNE PHOTO A UNE TAILLE VOULU
La variable $image corespond a l'image source
Les variable $hauteur et $largeur corespondent a la largeur-maxi et la hauteur-maxi voulu
La variable $masque correspond a l'image que l'on superposera a l'image de depart
La variable $chemin_fichier correspond au dossier de destination + / + nom de fichier original
**********************************************************************************************/
function redimensionner_image($image, $hauteur, $chemin_fichier)
{
// On recupere l'extension de l'image
$infosfichier = pathinfo($image);
$extension = strtolower($infosfichier['extension']);
switch($extension)
{
case "jpg" : $image_create=imagecreatefromjpeg($image); break;
case "jpeg" : $image_create=imagecreatefromjpeg($image); break;
case "gif" : $image_create=imagecreatefromgif($image); break;
case "png" : $image_create=imagecreatefrompng($image); break;
}
// on recupere la taille de l'image
$taille=getimagesize($image);
// echo "Hauteur originale de l'image: ".$taille[1]."<br />";
// echo "Largeur originale de l'image: ".$taille[0]."<br />";
// on calcule le ratio de redimentionement entre la hateur de l'image et la hauteur voulu
$ratio=$taille[1]/$hauteur;
// echo "ratio= ".$ratio."<br />";
// On calcule les nouvelles dimensions de l'image
$new_largeur=$taille[0]/$ratio;
$new_hauteur=$taille[1]/$ratio;
// echo "Nouvelle Hauteur de l'image: ".$new_hauteur."<br />";
// echo "Nouvelle Largeur de l'image: ".$new_largeur."<br /><br />";
// On creer l'image de destination vide avec les nouvelles dimensions
$new_image = imagecreatetruecolor($new_largeur, $new_hauteur);
// On copie l'image uploader dans l'image vide
$copy = imagecopyresampled($new_image, $image_create, 0, 0, 0, 0, $new_largeur, $new_hauteur, $taille[0], $taille[1]);
// On remplace l'extension du fichier image par png
$nom_du_fichier_png = str_replace($infosfichier['extension'],"png",$infosfichier['basename']);
// On enregistre l'image au format png
imagepng($new_image,$chemin_fichier."/".$nom_du_fichier_png);
// On detruit l'image $new_image
imagedestroy($new_image);
// On renvoie le chemin du fichier créé
return $chemin_fichier."/".$nom_du_fichier_png;
}// Fin de la fontion redimensionner_image
/**********************************************************************************************
FONCTION PERMETTANT D'AFFICHER ET DE SUPRIMER UNE PHOTO
On scanne le dossier afin de recuperer la liste de toutes les photos
On affiche la liste des photos avec un lien permettant de suprimer la photo selectionée
**********************************************************************************************/
function afficher_suprimer_photos($dossier_destination)
{
// On verifie que le dossier de destination existe
if(is_dir ($dossier_destination)==false)
{
echo "Dossier de destination inexistant ";
}
else
{
// On ouvre le dossier ou se trouve les photos
$dossier = opendir($dossier_destination) or die('Erreur');
// On donne la liste des extensions de fichier a afficher
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
echo "\r\n <center>";
// On affiche les photos contenu dans le dossier
while($resultat = readdir($dossier))
{
// On teste si $resultat n'est pas un dossier ou un lien parrent
if($resultat != '.' && $resultat != '..' && !is_dir($dossier_destination."/".$resultat) )
{
// Encode le nom du fichier
$resultat = utf8_encode($resultat);
// On recupere l'extension du fichier
$infosfichier = pathinfo($resultat);
$extension = strtolower($infosfichier['extension']);
// On verifie si l'extension du fichier correspond a une extension autorisé
if(in_array($extension, $extensions_autorisees))
{
// Pour lisibilité du code généré:
echo "\r\n ";
// On affiche la photo avec un lien pointant sur cette meme page avec en argument $_GET le nom de la photo
echo "<hr /><br /><a href='?supprimerphoto=".$resultat."'>Supprimer la photo: ".$resultat."</a><br /><br />";
// Pour lisibilité du code généré:
echo "\r\n ";
// On affiche la photo avec un lien pointant sur cette meme page avec en argument $_GET le nom de la photo
echo '<img src="'.$dossier_destination.'/miniature/'.$resultat.'" ><br /><br /><img src="'.$dossier_destination.'/'.$resultat.'" ><br /><br />';
}
}
}// Fin du while
// On referme le dossier
closedir($dossier);
echo "\r\n </center>";
}// fin du else verification d'existance du dossier
}// Fin de la fonction afficher_suprimer_photos
/**********************************************************************************************
FONCTION PRINCIPALE QUI S'OCCUPE DE SCANNER LE DOSSIER ET AFFICHER LE DIAPORAMA
$dossier_destination: Le dossier à scanner pour afficher le diaporama
**********************************************************************************************/
function afficher_diaporama($dossier_destination)
{
// On ouvre le dossier ou se trouvent les photos
$dossier = opendir($dossier_destination) or die('Erreur');
// On donne la liste des extensions autorisées
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
$contenu_dossier_photo = array();
$nom_photo = array();
// on affiche toutes les photos contenu dans le dossier
while($resultat = readdir($dossier))
{
// On teste si $resultat n'est pas un dossier ou un lien parrent
if($resultat != '.' && $resultat != '..' && !is_dir($dossier_destination."/".$resultat) )
{
// Encode le nom du fichier
$resultat = utf8_encode($resultat);
$fileChunks = array_reverse(explode(".", $resultat));
$extension_resultat = strtolower($fileChunks[0]);
// On verifie si l'extension du fichier correspond a une extension autorisé
if(in_array($extension_resultat, $extensions_autorisees))
{
// On integre toute les photos dans un array $contenu_dossier_photo
$contenu_dossier_photo[]=$resultat;
$nom_photo[]=$fileChunks[1];
}
}// Fin du test de $resultat
} //Fin du while
// On recupere l'indice du dernier enregistrement de l'array $contenu_dossier_photo
$nb_photos=count($contenu_dossier_photo);
// On genere le code javascript permettant d'afficher le diaporama
if($nb_photos > 0)
{
?>
<script type="text/javascript">
$(document).ready(function(){
$('#diaporama').transition({
title: '<?php echo GALLERY_TITLE ?>', // Gallery title
autoRun: <?php echo GALLERY_AUTORUN ?>, // Autorun slideshow ?
displayTime: <?php echo GALLERY_IMAGE_DISPLAY_TIME ?>, // How long an image is displayed
transitionTime: <?php echo GALLERY_IMAGE_TRANSITION_TIME ?>, // Duration of the fade in/fade out effect
width: <?php echo GALLERY_IMAGE_MAX_WIDTH ?>, // Maximum width of the gallery images
height: <?php echo GALLERY_IMAGE_MAX_HEIGHT ?>, // Maximum height of the gallery images
thumbs: <?php echo $nb_photos ?>, // Number of thumbnails to display
thumbSize: {width: <?php echo GALLERY_THUMB_MAX_WIDTH ?>, height: <?php echo GALLERY_THUMB_MAX_HEIGHT ?>}, // Size of each thumbnail
displayTitle: <?php echo GALLERY_DISPLAY_TITLE ?>, // Display the gallery title
displayCaption: <?php echo GALLERY_DISPLAY_CAPTION ?>, // Display the images caption
images : [<?php
// On affiche toute les lignes correspondant aux photos
for($i=0; $i<$nb_photos; $i++)
{
// Pour lisibilité du code généré:
echo "\r\n ";
// Insertion de l'image:
echo "{image: '".$dossier_destination."/".$contenu_dossier_photo[$i]."', thumb: '".$dossier_destination."/miniature/".$contenu_dossier_photo[$i]."', title: '".$nom_photo[$i]."'}";
// Pas de virgule après la dernière image:
if($i<$nb_photos-1)
{
echo",";
}
} // Fin du for
// Pour lisibilité du code généré:
echo "\r\n ";
?>]
});
});
</script>
<div id="container">
<div id="diaporama"></div>
</div>
<?php
}// Fin du code generé
}// Fin de la fonction afficher_diaporama
/**********************************************************************************************
FONCTION PERMETTANT D'ARRONDIR LES ANGLES DE LA PHOTO $image
La photo doit etre au format png
On créer 4 images png correspondant au 4 angles
On superpose ces 4 images a l'image de depart
**********************************************************************************************/
function arrondir_angle($image, $rayon_arrondi)
{
// Cette partie peut etre activé si le fichier source n'est pas au format png
$image_create=imagecreatefrompng ($image);
// on recupere la taille de l'image
$taille=getimagesize($image);
// On determine la largeur et la hauteur de l'image contenant les coin
$largeur_coin = $rayon_arrondi/2;
$hauteur_coin = $rayon_arrondi/2;
// ********* Coin Bas Gauche ********/
// On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
$image_coin = imagecreate($largeur_coin, $hauteur_coin);
// On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
$couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
// On attribu une couleur transparente
$couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
// On rend la couleur blanche transparente
imagecolortransparent($image_coin, $couleur_transparente_coin);
// On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
imagefilledellipse($image_coin,$rayon_arrondi-$largeur_coin,0, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
// On copie l'image $image_coin sur l'image principal $image
imagecopy($image_create, $image_coin, 0, $taille[1]-$largeur_coin, 0, 0, $largeur_coin, $hauteur_coin);
// On detruit l'image du coin
imagedestroy($image_coin);
// ********* Coin Bas Droit ********/
// On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
$image_coin = imagecreate($largeur_coin, $hauteur_coin);
// On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
$couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
// On attribu une couleur transparente
$couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
// On rend la couleur blanche transparente
imagecolortransparent($image_coin, $couleur_transparente_coin);
// On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
imagefilledellipse($image_coin,0,0, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
// On copie l'image $image_coin sur l'image principal $image
imagecopy($image_create, $image_coin, $taille[0]-$largeur_coin, $taille[1]-$hauteur_coin, 0, 0, $largeur_coin, $hauteur_coin);
// On detruit l'image du coin
imagedestroy($image_coin);
// ********* Coin Haut Gauche ********/
// On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
$image_coin = imagecreate($largeur_coin, $hauteur_coin);
// On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
$couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
// On attribu une couleur transparente
$couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
// On rend la couleur blanche transparente
imagecolortransparent($image_coin, $couleur_transparente_coin);
// On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
imagefilledellipse($image_coin,$rayon_arrondi-$hauteur_coin,$rayon_arrondi-$largeur_coin, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
// On copie l'image $image_coin sur l'image principal $image
imagecopy($image_create, $image_coin, 0, 0, 0, 0, $largeur_coin, $hauteur_coin);
// On detruit l'image du coin
imagedestroy($image_coin);
// ********* Coin Haut droit ********/
// On créer une image vide nomé $image_coin de couleur $couleur_fond et de taille $rayon_arrondi
$image_coin = imagecreate($largeur_coin, $hauteur_coin);
// On attribu une couleur (noir transparent, normallement sa n'existe pas souvent) au fond
$couleur_fond_coin = imagecolorallocatealpha($image_coin, 0, 0, 0, 0);
// On attribu une couleur transparente
$couleur_transparente_coin = imagecolorallocate($image_coin, 255, 255, 255); // pour le moment la couleur est blanche
// On rend la couleur blanche transparente
imagecolortransparent($image_coin, $couleur_transparente_coin);
// On créer un cercle plein de rayon $rayon_arrondi, de position -2, -2 et de couleur $couleur_transparente_coin
imagefilledellipse($image_coin,0,$rayon_arrondi-$largeur_coin, $rayon_arrondi, $rayon_arrondi, $couleur_transparente_coin);
// On copie l'image $image_coin sur l'image principal $image
imagecopymerge($image_create, $image_coin, $taille[0]-$largeur_coin, 0, 0, 0, $largeur_coin, $hauteur_coin,100 );
// On detruit l'image du coin
imagedestroy($image_coin);
// On rend la couleur noir transparent, transparente ...
$couleur_a_rendre_transparente = imagecolorallocatealpha($image_create, 0, 0, 0, 0);
imagecolortransparent($image_create, $couleur_a_rendre_transparente);
// On enregistre l'image png de la photo et des coins arrondis
imagepng($image_create,$image);
// On detruit l'image créer
imagedestroy($image_create);
} // Fin de la fonction arrondir_angle
?>
</body>
</html>
Conclusion
Surtout n'hésitez pas a critiquer ce code afin de m'aider a l'améliorer !!!
Fichier Zip
Historique
- 24 novembre 2009 17:38:22 :
- Problème dans le .zip
- 25 novembre 2009 11:24:16 :
- Encore un problème avec le zip ... dsl.
- 30 novembre 2009 14:20:30 :
- Modification du code grace a l'aide de Crasygogo
- 04 décembre 2009 20:22:04 :
- Ajout d'une capture d'ecran.
- 10 janvier 2010 18:41:02 :
- Mise a jour du .zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Galerie photos: Miniature + rognage [ par Kronikerz ]
Bonjour, Je suis à la recherche de 2 scripts: le premier permettant de miniaturiser une image, tout en gardant les proportions. Le second dans le b
PHP/MySQL page de miniatures et autre page d'affichage détaillé [ par pchappuis ]
Bonjour. Je cherche à afficher la miniature correspondant à l'image de la page liée, en sachant que je peux avoir uniquement les images 2, 3, 5, 1 da
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
Qualité miniature [ par TiotBour ]
Bonjour a tous !J'ai un probleme de qualité avec mes miniatures qui sont faites automatiquement par la librairie GD2.Elle sont automatiquement redimen
Diaporama Plein Ecran [ par gilles_geneve ]
Sympa de trouver ce site....Qui peut me donner la commande pour affichêr une image plein ecran (diaporama),MerciGilles
diaporama [ par morgandetoi06 ]
bonjour, j ai voulu faire un diaporama en PHP/JSmaius il ne marche pas et je ne voit pas pksvp aidez moi: voila le code que j ai fait merci de me donn
Liens PHP (appel d'un fichier PHP) [ par vincf1 ]
Bonjour à tous tout d'abord Voila, j'explique mon petit soucis (je suis novice en PHP ).Mon but est d'afficher une image miniat
Diaporama photos ? [ par JPR ]
Bonjour,En regardant sur ce forum et d'autres, je vois qu'il y a plein de scripts pour effectuer un diaporama en PHP + MySQL. J'en cherche un de tr
diaporama manuel avec image cliquable [ par fcomba ]
Bonjour, Je cherche un diaporama qui permet de faire défiler manuellement des images (boutons "suivant" et "précedent") et qui permet de fa
|
Derniers Blogs
[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7 par Audrey
Lors de la réalisation de ma 2ème application Windows Phone 7, j'ai souhaité utiliser un WrapPanel pour afficher plusieurs photos. Mais le contrôle WrapPanel ne fait pas parti de la liste des contrôles inclus dans le SDK de la version Beta des outils pour...
Cliquez pour lire la suite de l'article par Audrey [WP7] BESOIN D'AVOIR DES DONNéES EN CACHE[WP7] BESOIN D'AVOIR DES DONNéES EN CACHE par Nicolas
Les développeurs ASP.NET ont l'habitude de mettre des données en cache pour éviter de requêter a chaque fois la base de données. Et il est toujours utilie de penser que vos utilisateurs mobiles n'ont pas troujours une super connexion 3G/WIFI et un for...
Cliquez pour lire la suite de l'article par Nicolas [TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION[TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION par cyril
Lorsque l'on créé un Work Item dans TFS, il est possible de le classer dans un "area" et dans une "iteration". Dans la plupart des types de projet, un "area" correspond à une catégorie, une "iteration" à un numéro de version. Il est possible de cré...
Cliquez pour lire la suite de l'article par cyril SQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULLSQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULL par coq
Les fonctions d'agrégation comme MIN et MAX ignorent les valeurs NULL présentes dans le jeu de données sur lequel porte leur calcul, d'où le fameux message d'avertissement : Warning: Null value is eliminated by an aggregate or other SET operation...
Cliquez pour lire la suite de l'article par coq VOTEZ POUR WARNYGOVOTEZ POUR WARNYGO par Nicolas
La vidéo du projet Warnygo est disponible sur facebook et attend vos votes ! Pour rappel: Warnygo est une application Windows Phone 7 qui permet d'alerter tous utilisateurs inscrits qui se trouve dans la zone où se passe l'...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
sDEVIS-FACTURES vlPRO (3.8.0)SDEVIS-FACTURES VLPRO (3.8.0)sDEVIS-FACTURES vlPRO a été mis au point pour permettre besoins des particuliers, créateurs, entr... Cliquez pour télécharger sDEVIS-FACTURES vlPRO LettresFaciles (5.6.0)LETTRESFACILES (5.6.0)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles MyPlanning 2010 (5.6.0)MYPLANNING 2010 (5.6.0)MyPlanning 2010 permet de créer des plannings sous la représentation de diagrammes. Plannings pré... Cliquez pour télécharger MyPlanning 2010 Emicsoft Mac DVD en iPad Convertisseur (3.1.16)EMICSOFT MAC DVD EN IPAD CONVERTISSEUR (3.1.16)Emicsoft Mac DVD en iPad Convertisseur, logiciel professionnel de convertir les fichiers DVD en i... Cliquez pour télécharger Emicsoft Mac DVD en iPad Convertisseur Emicsoft ipad ménager pour mac (3.1.08)EMICSOFT IPAD MéNAGER POUR MAC (3.1.08)Emicsoft ipad ménager pour mac est spécialement conçu pour les utilisateurs Mac pour copier des f... Cliquez pour télécharger Emicsoft ipad ménager pour mac
|