alpseb | Hello, avant de me jetter par la fenêtre, je tente quand meme un petit message ici !
mon probluème : j'ai devellopé une gallerie photo en php qui répond à mes besoin de photographe pressé :
il y a qu'un seul fichier index.php
il liste les photos qui sont dans le meme répertoire que lui
il en fait des vignettes et il les affiche (avec d'autres options...)
Je propose ce srcipt aux gens pour qu'ils puissent faire des galleries facillement sans rien coprendre au web...
(je suis entrain de faire le site web avec les explications d'utilisations)
juste que la, tout va bien, je suis content, je l'utilise tous le temps, je fais du travail de boeuf avec : 2 Go de photos, 600 photos de 10 millions de pixels... c'est long a calculer, mais ca mange tout, parfait !
Je précise que mon hébergeur perso est ... Free.fr
depuis quelques jours, j'éssaie de mettre ce script sur un autre espace free... mais ca ne marche pas ! je copie le meme script et les memes photos sur un autre free et ca me met ce message :
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 3872 bytes) in /mnt/160/sda/2/8/pixmariage/test/index.php on line 224
meme avec une seulle photo de 2 Mo en jpg, ca chie ! alors que sur mon free perso, je bourrine n'importe quoi et ca marche !!
Avez vous une idée de la raison pour laquelle ca marche chez moi et pas ailleur ???
exemple qui chie : http://pixmariage.free.fr/test/ (ya qu'une photo dans le dossier)
exemple qui marche : http://dolanhanh.free.fr/mariageDF/
je poste un bout du script ou je redimentionne les images
Code :
- while ($currfile = readdir($handle))
- {
- // We get the extension of the current file and keep only image files
- $extension= strtolower(substr( strrchr( $currfile, "." ), 1 ));
- if ($extension== "gif" || $extension== "jpg" || $extension== "jpeg" || $extension== "png" || $extension== "JPG" || $extension== "JPEG" )
- {
- $nbfiles++;
- $currfile = trim($currfile);
- $filestab[$nbfiles] = $currfile;
- }
- }
- // si on veux trier par ordre alphabétique
- if($trieOrdreAlpha){sort($filestab) or die ("erreur" );}
- // on boucle sur les fichiers
- for ( $nb=1 ; $nb<=$nbfiles ; $nb++ ){
- $currfile = $filestab[$nb];
- if ($ishome == "" )
- {
- $size = GetImageSize($currfile);
- $widthBig = $size[0];
- $heightBig = $size[1];
-
- $rat = $widthBig/$heightBig;
- // si c'est plus large que long
- if($widthBig >= $heightBig){
- //vignette
- $width = $plusGrandCote;
- $height = $plusGrandCote/$rat;
- // moyennes
- if($widthBig<$moy_plusGrandCoteW){
- $moy_width = $widthBig;
- $moy_height = $heightBig;
- }
- else{
- $moy_width = $moy_plusGrandCoteW;
- $moy_height = $moy_plusGrandCoteW/$rat;
- }
- }
- // si c'est plus long que large
- else{
- //vignettes
- $height = $plusGrandCote;
- $width = $plusGrandCote*$rat;
- //moyennes
- if($heightBig<$moy_plusGrandCoteH){
- $moy_width = $widthBig;
- $moy_height = $heightBig;
- }
- else{
- $moy_height = $moy_plusGrandCoteH;
- $moy_width = $moy_plusGrandCoteH*$rat;
- }
- }
-
- $format = $size[2]; //1 = GIF, 2 = JPG, 3 = PNG, 5 = PSD, 6 = BMP
- $currthumbfile = "./" . $thumb_dir . "/" . $thumb_prefix . $currfile;
- $currmoyfile = "./" . $moy_dir . "/" . $moy_prefix . $currfile;
-
-
- if (! file_exists($currthumbfile))
- {
- if ($format == 2) //JPG
- {
- // Redimensionnement petite
- $image_p = imagecreatetruecolor($width, $height);
- $image = imagecreatefromjpeg($currfile);
- imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $widthBig, $heightBig);
-
- // Redimensionnement grande
- $image_g = imagecreatetruecolor($moy_width, $moy_height);
- $image2 = imagecreatefromjpeg($currfile);
- imagecopyresampled($image_g, $image2, 0, 0, 0, 0, $moy_width, $moy_height, $widthBig, $heightBig);
-
- }
- else if ($format == 3) //PNG
- {
- // Redimensionnement --> on fais une imagette en jpg
- $image_p = imagecreatetruecolor($width, $height);
- $image = imagecreatefrompng($currfile);
- imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $widthBig, $heightBig);
-
- // Redimensionnement grande
- $image_g = imagecreatetruecolor($moy_width, $moy_height);
- $image2 = imagecreatefrompng($currfile);
- imagecopyresampled($image_g, $image2, 0, 0, 0, 0, $moy_width, $moy_height, $widthBig, $heightBig);
- }
- else if ($format == 1) //GIF
- {
- // Redimensionnement --> on fais une grosse image en jpg
- $image_p = imagecreatetruecolor($width, $height);
- $image = imagecreatefromgif($currfile);
- imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $widthBig, $heightBig);
-
- // Redimensionnement grande
- $image_g = imagecreatetruecolor($moy_width, $moy_height);
- $image2 = imagecreatefromgif($currfile);
- imagecopyresampled($image_g, $image2, 0, 0, 0, 0, $moy_width, $moy_height, $widthBig, $heightBig);
- }
-
-
-
- if (!$image)
- {
- $currthumbfile = $currfile;
- }
- else
- {
- // imagejpeg($image_p, $currthumbfile, $quality);
- ImageDestroy($image);
- ImageDestroy($image_p);
- }
- if (!$image2)
- {
- $currmoyfile = $currfile;
- }
- else
- {
- // imagejpeg($image_g, $currmoyfile, $moy_quality);
- ImageDestroy($image2);
- ImageDestroy($image_g);
- }
- }
|
merci d'avance ! Message édité par alpseb le 24-07-2007 à 20:20:56
|