Prob affich miniatures via librairie GD --> m'en convertit que une !

Prob affich miniatures via librairie GD --> m'en convertit que une ! - PHP - Programmation

Marsh Posté le 16-04-2004 à 16:18:01    

Bonjour les gens,
 
Voilà j'ai fait un script maison, ne voulant pas m'inspirer des moultes appli du web, et ça donne ça :
 

Citation :

<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
 
<body bgcolor="#FFCC00" text="#0000FF">
 
<?
 
mysql_connect("localhost" );
mysql_select_db ("nombase" );
set_time_limit(0);
$larg="150";
$requete="SELECT pho_nom FROM photos";
if($resultat=mysql_query($requete))
{
 while($ligne=mysql_fetch_row($resultat))
 {
  $id=$ligne[0];
  while(substr(strtolower($id),(strlen($id)-10),1)=="p" )
  {
   $src=ImageCreateFromJpeg("$id" );  //récupération de l'image
   $taille=getimagesize($id);  //récupération de sa taille
           
   $img=imagecreate($larg,round(($larg/$taille[0])*$taille[1])); //on crée une nlle image vide de la taille de la future vignette (tout en gardant les proportions)
          //puis on copie l'image source vers cet emplacement vide en la redimensionnant avec la fonction imagecopyresized
   imagecopyresized($img,$src,0,0,0,0,$larg,round(($larg/$taille[0])*$taille[1]),$taille[0],$taille[1]); //round = arrondi de "$larg/$taille[0])*$taille[1])" à "$taille[0],$taille[1]" près
       
   imagejpeg($img,"mini_".$id);  //stockage du résultat sur le serveur, et on recommence ;-p
  }
 }
}
 
mysql_close();
 
?>
 
</body>
</html>


 
Bon je sais que chui pas un crack en php/mysql, mais ça marche, la preuve, il m'a convertit UNE photo sur 8 en "mini_nomfichier.jpg". Après ça me met un magnifique attention les yeux :
 

Citation :


Fatal error: Maximum execution time of 10 seconds exceeded in /data/members/free/laposte/fr/g/r/a/graphimages/htdocs/admin.php on line 28


 
Pour info chui sur la poste, ait bien crée ma bdd, les photos fullsized ne font pas plus de 100ko chacune (la poste accepte des upload php de 200ko max) et que puis je dire d'autre, sinon que je sais vraiment pas quoi faire ?
 
EN RESUME si j'ai pas été clair :
--> Disons que j'ai 8 photos appelées "Pannox.jpg" avec x de 1 à 8.
Via ce script, je dois me connecter, en faire des miniatures appelées "mini_pannox.jpg", et les stocker sur le même répertoire. Dans le futur (enfin j'en ai besoin assez rapidement  :pt1cable: ) jles afficherai sur une page web bien sûr, avec un click pour agrandissement dans une popup.  
 
Voilà, ça plaît ou ça plait pas, mais ça marche po. Enfin ya "Panno1.jpg" qui est convertie sur le ftp en "mini_panno1.jpg", et pas les autres, pis ya cterreur de merde. Vous pouvez allez voir sur http://pagesperso.laposte.net/graphimages/admin.php. Le code de la page est celui en citation. Merci d'avance et bon courage !


---------------
¤¤ Info, coke, cop & co ¤¤
Reply

Marsh Posté le 16-04-2004 à 16:18:01   

Reply

Marsh Posté le 16-04-2004 à 16:33:10    

Bah comme l'erreur le mentionne, ton hebergeur est configuré pour ne pas accorder plus de 10 secondes de temps d'execution à une page. Ton script doit boucler quelques part ou un appel échoue un truc dans le genre


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 16-04-2004 à 16:47:30    

Oué j'ai vu que le serveur il accorde pas plus de 10 secondes. Et où bouclerait il mon script ? Il est pas bon là ?


---------------
¤¤ Info, coke, cop & co ¤¤
Reply

Marsh Posté le 16-04-2004 à 16:49:57    

C'est pas que ton script n'est pas bon, c'est qu'il prend plus de 10 secondes à s'exécuter :)

Reply

Marsh Posté le 16-04-2004 à 16:59:20    

Lol. Il prend plus de 10 sec à s'éxécuter paske chui en 56k et que il arrive pas a uploader 100ko en 10 s c ca ?
 


---------------
¤¤ Info, coke, cop & co ¤¤
Reply

Marsh Posté le 16-04-2004 à 17:05:40    

Non, c'est le traitement (parcours mysql + gd) qui prends plus de 10 secondes (à priori).
 
Quel est la ligne 28 dans le code ?

Reply

Marsh Posté le 16-04-2004 à 17:10:25    

ben en fait jcrois que comme le disais boulax, jcrois qu'il fait une belle boucle mon prog : quand je fais un echo apres le while, il m'affiche 30 fois le meme thumb.Donc ya un malèze. Jvois pas où, mais ya une belle boucle.
 
Et la ligne 28 change en fonction du temps qu'il va mettre à faire le script, donc de la connexion non ?


---------------
¤¤ Info, coke, cop & co ¤¤
Reply

Marsh Posté le 16-04-2004 à 17:15:53    

Jviens de modifier le "while(substr(strtolower($id),(strlen($id)-10),1)=="p" ) " par un if. Là ça maffiche bien 8 images comme je le demande, sauf que g des croix à la place des images --> elles ne sont pas chargées donc.  
 
????
 
 
Chui assez relou mais bon désolé.  :heink:  
Quand on affiche une image en php, c'est bien par  

Citation :

echo "<img src="$img">";


 
Non ? Paske il me met une erreur, donc ça doit pas être ça.
 
Merci et encore désolé. :ange:


Message édité par moulette85 le 16-04-2004 à 17:20:48

---------------
¤¤ Info, coke, cop & co ¤¤
Reply

Marsh Posté le 16-04-2004 à 17:23:50    

Ben affiche le code source, tu sauras de suite si le chemin d'accès à l'image est correct :)

Reply

Marsh Posté le 16-04-2004 à 17:34:59    

Ben non : vla la source  

Citation :

<br />
<b>Parse error</b>:  parse error, expecting `','' or `';'' in <b>/data/members/free/laposte/fr/g/r/a/graphimages/htdocs/admin.php</b> on line <b>32</b><br />


 
Pas longue et instructive si ?


---------------
¤¤ Info, coke, cop & co ¤¤
Reply

Marsh Posté le 16-04-2004 à 17:34:59   

Reply

Marsh Posté le 16-04-2004 à 17:48:52    

C bon j'ai trouvé  

Citation :


echo "<a href='$id'><img src='mini_'.$id></a>";


 
C'était pour ceux que ça intéressaient.  
 
Maintenant faut que j'arrive à distinguer les paysages des portraits.... @+ et merci à vous 2 !


---------------
¤¤ Info, coke, cop & co ¤¤
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed