tittye
Messages postés4Date d'inscriptionmardi 10 novembre 2009StatutMembreDernière intervention21 octobre 2013
-
20 oct. 2013 à 16:32
tittye
Messages postés4Date d'inscriptionmardi 10 novembre 2009StatutMembreDernière intervention21 octobre 2013
-
21 oct. 2013 à 20:57
Bonjour,
Alors voilà, j'ai créé cette galerie manuellement
http://www.auchatvabien.fr/diaporama.php
(dsl pr la musique qui va vous casser les oreilles) en php et Javascript
Ayant toujours plus de photos à insérer, j'ai décidé d'automatiser le processus. Php Photo Module correspond très bien à mes attentes : simple et ressemble au fonctionnement de ma galerie manuelle. Juste besoin de toucher au CSS donc ça ne devrait pas poser de problème. en gros on installe les fichiers par FTP puis on met les photos ds un dossier spécifique.
Mon problème c'est que les miniatures ne sont pas créées (alors qu'elles sont censées l'etre automatiquement) et donc les photos ne s'affichent pas. Les icones par contre sont créées.
Alors j'ai lu ça sur un site de téléchargement du produit
"Attention, il faut penser à installer les extensions _gd2 et _exif sinon vous allez voir des problèmes d'affichage"
1/ est ce que c'est ça mon problème ?
2/ comment les installer, je n'y comprends rien, j'ai l'impression que c'est seulement une installation en local ds le fichier php.ini (je travaille tjs en direct via le ftp dc pas de wamp etc.), est ce que c'est sur le serveur qu'ils seraient absents ?
Et si ce n'est pas ça, où est ce que je fais une erreur ?
Je vous mets le code en-dessous si jamais ça peut vous servir...
Merci beaucoup pour votre aide !! et si vous ne pouvez pas m'aider peut etre savez-vous où je peux en trouver, de l'aide. MERCI
INDEX
<?php require("conf.php");
//error_reporting(E_ALL); // afficher les erreurs error_reporting(0); // ne pas afficher les erreurs
////////////////////////////////////////////////////////////////////////// //fonction pour créer une miniature de la 1ère image du sous dossier photo ////////////////////////////////////////////////////////////////////////// function create_icon($dir2iconize) { $dir = PHOTOS_DIR."/".$dir2iconize; //chemin vers le répertoire à dont on doit créer l'icone if ($handle = opendir($dir)) { $cFile = 0; while (false !== ($file = readdir($handle))) { if($file != "." && $file != ".."){ if(is_file($dir . "/" . $file)){ $listFile[$cFile] = $file; $cFile++; } } } closedir($handle); } //$extract = scandir($dir);//scan des "array" du répertoire $first_dir_item = $listFile[0]; // on extrait la valeur du premier fichier du répertoire (après"." et "..") list($width, $height, $type, $attr) = getimagesize($dir."/".$first_dir_item);//on liste les valeur de l'image $miniature = imagecreatetruecolor(ICO_WIDTH, ICO_HEIGHT); if ($type == 1) { $image = imagecreatefromgif($dir."/".$first_dir_item); } if ($type == 2) { $image = imagecreatefromjpeg($dir."/".$first_dir_item); } if ($type == 3) { $image = imagecreatefrompng($dir."/".$first_dir_item); } //imagecopyresampled(image de destination, image source, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h); imagecopyresampled($miniature, $image, 0, 0,((($width - ICO_WIDTH)/2) <= ICO_WIDTH ? ICO_WIDTH-(($width - ICO_WIDTH)/2) : ($width - ICO_WIDTH)/2), ((($height - ICO_HEIGHT)/2) <= 0 ? ICO_HEIGHT-(($height - ICO_HEIGHT)/2) : ($height - ICO_HEIGHT)/2), ICO_WIDTH, ICO_HEIGHT, ICO_WIDTH*2, ICO_HEIGHT*2); imagejpeg($miniature, $dir."/".ICO_FILENAME, GLOBAL_JPG_QUALITY); }
////////////////////////////////////////////// //fonction pour créer le répertoire miniatures ////////////////////////////////////////////// function create_folder($dirwhere2folderize, $dir_name) { mkdir(PHOTOS_DIR."/".$dirwhere2folderize."/".$dir_name); }
///////////////////////////////////////////////////////////////////// //fonction pour créer toutes les miniatures du répertoire en question ///////////////////////////////////////////////////////////////////// function create_newimage($dirname, $file2miniaturize, $dimensionmax, $dir_where2save, $file_prefixe) { $dir = PHOTOS_DIR."/".$dirname; //chemin vers le répertoire à dont on doit créer l'icone $dir_where2save = ($dir_where2save ? "/".$dir_where2save : ""); $file_prefixe = ($file_prefixe ? $file_prefixe : ""); list($width, $height, $type, $attr) = getimagesize($dir."/".$file2miniaturize);//on liste les valeur de l'image if ($width >= $height) { $newwidth = $dimensionmax; $newheight = ($dimensionmax*$height)/$width; } else { $newwidth = ($dimensionmax*$width)/$height; $newheight = $dimensionmax; } $miniature = imagecreatetruecolor($newwidth, $newheight); if ($type == 1) { $image = imagecreatefromgif($dir."/".$file2miniaturize); } if ($type == 2) { $image = imagecreatefromjpeg($dir."/".$file2miniaturize); } if ($type == 3) { $image = imagecreatefrompng($dir."/".$file2miniaturize); } imagecopyresampled($miniature, $image, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); imagejpeg($miniature, $dir.$dir_where2save."/".$file_prefixe.$file2miniaturize, GLOBAL_JPG_QUALITY); }
///////////////////////////////////////// //fonction pour tronquer un nom trop long ///////////////////////////////////////// function wordTruncate($str) { $str_to_count = html_entity_decode($str); echo strlen($str_to_count); if (strlen($str_to_count) <= PHOTONAME_MAXCHAR) { return $str; } else { $str2 = substr($str_to_count, 0, PHOTONAME_MAXCHAR - 3)."..."; return htmlentities($str2); } } ?> <html> <head> <title>PHP Photo module 0.2.3</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="global_style.css" rel="stylesheet" type="text/css"> <SCRIPT LANGUAGE=Javascript> <!-- function inCell(cell, newcolor) { if (!cell.contains(event.fromElement)) { cell.bgColor = newcolor; } }
<?php break; //fin du switch } ?> <div class="fdgris" align="right"> <span class="Style2">Php Photo Module 0.2.3 | auteur : <a href="http://www.jensen-siu.net" target="_blank" class="Style2" title="Graphiste - Concepteur multimedia">Jensen SIU</a> | distribution sur : <a href="http://www.atelier-r.net/index.php" target="_blank" class="Style2" title="Annuaire cooperatif du graphisme et du multimedia">Atelier R</a></span> </div> <noscript> <!-- Si vous retirez la référence ci dessus pour des raisons esthétiques, je vous remercie de laisser celle-ci que personne ne verra. Merci. --> Php Photo Module 0.2.3 | auteur : <a href="http://www.jensen-siu.net" target="_blank" title="Graphiste - Concepteur multimedia">Jensen SIU</a> | distribution sur : <a href="http://www.atelier-r.net/index.php" target="_blank" title="Annuaire cooperatif du graphisme et du multimedia">Atelier R</a> </noscript> </body> </html>
CONFIGURATION
<?php /* Ce script offre la possibilité d'afficher des images de format GIF, JPG ou PNG. */ define('ALPHABETIC_ORDER', true); // Classer les fichiers et les dossiers par ordre alphabétique / false pour non classé define('PHOTOS_DIR', 'photos'); //nom du répertoire un seront stockés les sous répertoires de photos define('THUMBS_DIR', 'miniatures'); // nom des répertoires contenant les fichiers de miniatures define('ICO_FILENAME', '_icon.jpg'); // nom de l'icone créée à partir de la 1ère image de chaque répertoire define('ICO_WIDTH', '225'); // largeur de l'image de l'icone en pixel / ne pas dépasser la moitié de l'image originale define('ICO_HEIGHT', '75'); // hauteur de l'image de l'icone en pixel / ne pas dépasser la moitié de l'image originale define('MINIATURE_MAXDIM', '120'); // largeur de l'image de miniature en pixel / ne pas dépasser la moitié de l'image originale define('GLOBAL_JPG_QUALITY', '80'); // taux de compression des jpg créés /* La capacité du script à créer vos miniatures photo dépend de la rapidité d'execution de votre serveur : plus vous choisissez d'afficher de photos par page, plus il sera lent à la première execution. Une fois créées, les photos restent sur le serveur. */ define('MINIATURES_PER_PAGE', 18); //nombre de miniatures à afficher par page define('MINIATURES_PER_LINE', 6); //nombre de miniatures à afficher par ligne dans les tableaux define('HOME_NAME', 'LES DOSSIERS PHOTO'); //nombre de miniatures à afficher par ligne dans les tableaux define('ICO_PER_PAGE', 12); //nombre de miniatures à afficher par page define('ICO_PER_LINE', 3); //nombre de miniatures à afficher par ligne dans les tableaux define('IMAGE_STDDIM', '640'); // largeur de l'image de miniature en pixel / ne pas dépasser la moitié de l'image originale define('IMAGE_400', '400'); // largeur de l'image de miniature en pixel / ne pas dépasser la moitié de l'image originale define('IMAGE_800', '800'); // largeur de l'image de miniature en pixel / ne pas dépasser la moitié de l'image originale define('PHOTONAME_MAXCHAR', 17); // Nb max de caractères pour un nom de photo ?>
pour installer ces extensions sur ton serveur, il faut avoir "la main" dessus, ce n'est souvent pas le cas, pour des personnes qui "louent" un serveur.
Une méthode pour vérifier, c'est de créer un fichier, phpinfo.php
et d'y insérer le code suivant :
<?php
phpinfo();
?>
envois le fichier à la racine de ton serveur comme à l'habitude (ftp) puis appelles le fichier depuis ton navigateur: exemple:
http://www.auchatvabien.fr/phpinfo.php
Cela te permettra de vérifier quelles extensions disposes ton serveur. Il devrait y avoir une colonne GD. (la plus importante, pour générer les miniatures, exif pas vitale permet de récupérer des infos de tes images)
tittye
Messages postés4Date d'inscriptionmardi 10 novembre 2009StatutMembreDernière intervention21 octobre 2013 21 oct. 2013 à 19:55
Yep effectivement il y est
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.12
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
et exif aussi
exif
EXIF Support enabled
EXIF Version 1.4 $Id: exif.c 293036 2010-01-03 09:23:27Z sebastian $
Supported EXIF Version 0220
Supported filetypes JPEG,TIFF
Donc le problème ne vient pas de là si je comprends bien ?
tittye
Messages postés4Date d'inscriptionmardi 10 novembre 2009StatutMembreDernière intervention21 octobre 2013 21 oct. 2013 à 20:57
Précision, en fait les miniatures se créent maintenant (possible que j'ai juste mal observé avant) mais les photos continuent à ne pas s'afficher. Et vraiment je ne comprends pas pourquoi...