Pb sur un script

From: mandr (mandrake)
Date: 07/31/04


Date: Sat, 31 Jul 2004 12:18:10 +0200

Bonjour ,

j'ai un petit pb sur mon script suivant :

  <?php

// Ouverture de la session

session_start();

// Test si identification effectué et réussi

if (session_is_registered("s_register"))
{

  echo "<BODY background='../../images/yfond44' text='#ffffff'
link='#ffffff' alink ='#ffffff' vlink='#ffffff' bgproperties='fixed'>";
  echo "<h3><u>Photos </u></h3>";

  // Test si 1 fichier se trouve dans le repertoire upload

  $upload = opendir('./upload/');
  $search = array();

  // recherche plus particulierement les jpgs

  while (false!== ($file = readdir($upload)))
  {
   // Si JPG , on stocke le nom

       if (ereg("JPG$",$file)||ereg("jpg$",$file)) $search[]=$file;
 }
  fclose($upload);

  // Si c le cas , creation des miniatures et rangement des photos dans le
dossier images

  if (sizeof($search))
  {

  // Index du tableau a zero

    $index=0;

  // creation de la miniature et deplacement du fichier

    do
    {
             $image_dest = imagecreatetruecolor(96,72);
             $image_source =
imagecreatefromjpeg("./upload/".$search[$index]);

             $larg_source = imagesx($image_source);
             $haut_source = imagesy($image_source);

             $larg_dest = imagesx($image_dest);
             $haut_dest = imagesy($image_dest);

             @imagecopyresampled($image_dest,$image_source,0,0,0,0,
                                $larg_dest,$haut_dest,
                                $larg_source,$haut_source);

             @imagejpeg($image_dest,"./mini/".$search[$index]);

             $path_source = "./upload/".$search[$index];
             $path_dest = "./images/".$search[$index];

             @copy($path_source,$path_dest);

             @unlink($path_source);
    }
    while ((++$index)<sizeof($search));

  }

  // Compte le nombre total d'image JPG du repertoire images

  $image = opendir("./images/");
  $nomjpg = array();
  $nbjpg = 0;

   // recherche plus particulierement les jpgs

  while (false!== ($file = readdir($image)))
  {
   // Si JPG , on stocke le nom

       if (ereg("JPG$",$file)||ereg("jpg$",$file))
       {
        $nomjpg[]=$file;
        $nbjpg++;
       }
  }
  fclose($images);

  // Triage du tableau de nom de fichier

  sort($nomjpg,SORT_REGULAR);

  // Enregistre les variables de session

  $_SESSION['nom_jpg'] = $nomjpg;
  $_SESSION['nb_jpg'] = $nbjpg;

  session_register('nom_jpg');
  session_register('nb_jpg');

  // Redirection vers la page d'affichage

 echo "<SCRIPT language='JavaScript'>";
 echo "window.location='./affiche2.php?courant=0';";
 echo "</SCRIPT>";
}

else
{
     header("Location: ../../index.php\n\n");
}

 ?>

Normalement le script sert a verifier si le dossier upload contient une ou
des images , si c le cas , il crée une miniature de celle ci et la range
dans le dossier images.

Il suit ce resonnement :

        1 - Verifie si la personne c bien enregistré
        2 - Ouvre le dossier upload et verifie s'il y a des fichiers jpg ou
JPG
        3 - si c le cas creation de la miniature et rangement dans le
dossier images
        4 - Ouvre le dossier images et recupere le nombre et les noms des
fichiers en l'affichage : affiche2.php

Mon problème est le suivant , si le dossier upload ne contient qu'une
dizaine d'images,aucun , par contre si
le dossier en contient plus , je suis obligé de relancer plusieurs fois le
script (vu que ca n'en prend qu'une dizaine à la fois).

Quelqu'un voit il d'ou vient le probleme ?