Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1895 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Redimensionnement à la chaine d'image

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Redimensionnement à la chaine d'image

n°1338870
playmobil7​7d
Posté le 04-04-2006 à 16:00:17  profilanswer
 

Bonjour à tous,
Voila je me suis fait un petit script qui me permet de redimensionner toutes les images dun dossier.
Cela fonctionne jusqu'à ce qu'il a fait la 4e ou 5e image où là il me fait une fatal error genre le temps d'execution de 30s est dépassé. Ce code est executé chez moi donc je n'ai pas de restriction de puissance.
voila mon code :

Code :
  1. <?
  2. if (isset($_POST['path'])){
  3. $i=0;
  4. $ratio = 576;
  5. $dir = "../images/parapente/".$_POST['path'];
  6. $dir_reduit = "../images/parapente/".$_POST['path']."/reduit";
  7. $dossier = opendir ($dir);
  8. echo "Opération en cours ...<br>";
  9. // on recupère la liste des images dans un tableau
  10. while ($fichier = readdir ($dossier)) {
  11.       if ($fichier != '.' && $fichier != '..' && $fichier != 'Thumbs.db' && $fichier != 'mini' && $fichier != 'reduit') {
  12.          // on stocke le nom des fichiers des miniatures dans un tableau
  13.          $listimage[] = $fichier;
  14.      }
  15. }
  16. echo "<br>";
  17. while ($listimage[$i] != NULL){
  18.  // on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier (je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations)
  19.         $tableau = @getimagesize($dir."/".$listimage[$i]);
  20.  // on teste le type de notre image : jpeg ou png
  21.  if ($tableau[2] == 2) {
  22.   // on crée une image à partir de notre grande image à l'aide de la librairie GD
  23.   $src = imagecreatefromjpeg($dir.'/'.$listimage[$i]);
  24.   // on teste si notre image est de type paysage ou portrait
  25.                     if ($tableau[0] > $tableau[1]) {
  26.                         $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
  27.                         imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
  28.                     }
  29.     else {
  30.                         $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
  31.                         imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
  32.                     }
  33.                     // on copie notre fichier généré dans le répertoire des miniatures
  34.                     imagejpeg ($im, $dir_reduit.'/'.$listimage[$i]);
  35.     echo $listimage[$i]." réduit<br>";
  36.     unlink($dir.'/'.$listimage[$i]);
  37.  }
  38.  $i++;
  39. }
  40. echo "Opération Terminé avec succès<br>";
  41. closedir ($dossier);
  42. }
  43. ?>
  44. <form action="redim.php" method="post">
  45. <p>
  46. <input type="text" name="path" /> <input type="submit" value="Valider" />
  47. </p>
  48. </form>


 
Ai je fait une erreur dans le code ?


---------------
Tu sais pourquoi il y a des guerre dans le monde ?   Parce que le monde est né sans l'homme et finira sans lui ...
mood
Publicité
Posté le 04-04-2006 à 16:00:17  profilanswer
 

n°1338880
Profil sup​primé
Posté le 04-04-2006 à 16:07:03  answer
 

C'est dans la configuration du serveur. Ca va vient pas de ton script

n°1338893
bixibu
Ca ... c'est fait!
Posté le 04-04-2006 à 16:18:24  profilanswer
 

Tu dois changer le 'max_execution_time'.
 
 Par defaut c'est 30 secondes en effet, monte le à plus, si t'es en local tu t'en fiche.
 
:hello:

n°1338999
nargy
Posté le 04-04-2006 à 17:32:11  profilanswer
 
n°1339004
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 04-04-2006 à 17:37:56  profilanswer
 

Moi je te conseillerais plutot de traiter chaque image en script externe.
<img src="monscriptexterne.php?monimage=chemindelimage" />
Le traitement sera plus rapide et dans le cas où le PHP bouchonne (si vraiment y'a beaucoup d'image), il attendra avant de traiter le script de transformation.

n°1339052
playmobil7​7d
Posté le 04-04-2006 à 18:39:18  profilanswer
 

Ok merci de toute ces réponse je fais les modifs @ bientôt


---------------
Tu sais pourquoi il y a des guerre dans le monde ?   Parce que le monde est né sans l'homme et finira sans lui ...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Redimensionnement à la chaine d'image

 

Sujets relatifs
remplissage des trous d'une image[Algo] Recherche de sous chaîne
[qt designer] Détection d'objet dans une image filtre morphologique[ RESOLU ] chercher dans une chaine de caractère
[IMG] Insérer une image en utilisant un CSS dans XSLConstruire une chaîne "en dur"
pas touche a mes image[SPIP] logo image ? + forum spip ?
[Débutant] [VB.NET] Insertion image à partir d'une datagridvpb de redimensionnement anim flash sous firefox
Plus de sujets relatifs à : Redimensionnement à la chaine d'image


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR