playmobil77d | 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 :
- <?
- if (isset($_POST['path'])){
- $i=0;
- $ratio = 576;
- $dir = "../images/parapente/".$_POST['path'];
- $dir_reduit = "../images/parapente/".$_POST['path']."/reduit";
- $dossier = opendir ($dir);
- echo "Opération en cours ...<br>";
- // on recupère la liste des images dans un tableau
- while ($fichier = readdir ($dossier)) {
- if ($fichier != '.' && $fichier != '..' && $fichier != 'Thumbs.db' && $fichier != 'mini' && $fichier != 'reduit') {
- // on stocke le nom des fichiers des miniatures dans un tableau
- $listimage[] = $fichier;
- }
- }
- echo "<br>";
- while ($listimage[$i] != NULL){
- // 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)
- $tableau = @getimagesize($dir."/".$listimage[$i]);
- // on teste le type de notre image : jpeg ou png
- if ($tableau[2] == 2) {
- // on crée une image à partir de notre grande image à l'aide de la librairie GD
- $src = imagecreatefromjpeg($dir.'/'.$listimage[$i]);
- // on teste si notre image est de type paysage ou portrait
- if ($tableau[0] > $tableau[1]) {
- $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
- imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
- }
- else {
- $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
- imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
- }
- // on copie notre fichier généré dans le répertoire des miniatures
- imagejpeg ($im, $dir_reduit.'/'.$listimage[$i]);
- echo $listimage[$i]." réduit<br>";
- unlink($dir.'/'.$listimage[$i]);
- }
- $i++;
- }
- echo "Opération Terminé avec succès<br>";
- closedir ($dossier);
- }
- ?>
- <form action="redim.php" method="post">
- <p>
- <input type="text" name="path" /> <input type="submit" value="Valider" />
- </p>
- </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 ...
|