comme tu me l'a demandé voilà le souce de la plus grosse boucle du script :
Code : Tout sélectionner
for ($A=0; $A<count($TABLEAU); $A++) {
$ID_DOSSIER = 1; /* ID POUR CHAQUE DOSSIER, RECOMMENCE A 1 AU DEBUT DU DOSSIER */
$TABLEAU[$A]["CHEMIN_COMPLET"] = str_replace("\\", "/", $TABLEAU[$A]["CHEMIN_COMPLET"]);
$OPEN_DIR2 = opendir($TABLEAU[$A]["CHEMIN_COMPLET"]);
chdir($TABLEAU[$A]["CHEMIN_COMPLET"]);
while ($NOM_FICHIER = readdir($OPEN_DIR2)) {
if (is_file($NOM_FICHIER)) {
$FILE_AND_EXTENSION = explode(".", $NOM_FICHIER);
if (($FILE_AND_EXTENSION[1] == "jpg") || ($FILE_AND_EXTENSION[1] == "JPG")) {
/* VARIABLES CONCERNANT LES IMAGES ET LES APERCUS */
$HANDLE = ImageCreateFromJPEG($TABLEAU[$A]["CHEMIN_COMPLET"].$NOM_FICHIER);
$DX = ImageSX($HANDLE);
$DY = ImageSY($HANDLE);
if (($DX == 1024) || ($DX == 640)) {
/* PETITE IMAGE */
$WIDTH_PTE_IMG = 128;
$HEIGHT_PTE_IMG = 96;
/* FNTR APERCU */
$WIDTH_FNTR_APERCU = 670;
$HEIGHT_FNTR_APERCU = 510;
}
elseif (($DX == 768) || ($DX == 480)) {
/* PETITE IMAGE */
$WIDTH_PTE_IMG = 96;
$HEIGHT_PTE_IMG = 128;
/* FNTR APERCU */
$WIDTH_FNTR_APERCU = 510;
$HEIGHT_FNTR_APERCU = 670;
}
ImageDestroy($HANDLE);
/* FIN PARAMETRES IMAGE, FNTR APERCU */
/* FIN VARIABLES CONCERNANT LES IMAGES ET LES APERCUS */
/* LISTE DES VARIABLES A TRANSMETTRE */
$CHEMIN_COMPLET = $TABLEAU[$A]["CHEMIN_COMPLET"];
$DOSSIER = $TABLEAU[$A]["DOSSIER"];
$PHOTO = $NOM_FICHIER;
$LARGEUR_INIT = $DX;
$LARGEUR = $WIDTH_PTE_IMG;
$HAUTEUR = $HEIGHT_PTE_IMG;
$LARGEUR_FNTR = $WIDTH_FNTR_APERCU;
$HAUTEUR_FNTR = $HEIGHT_FNTR_APERCU;
/* FIN LISTE DES VARIABLES A TRANSMETTRE */
/* INSERTION DES NOMS DES FICHIERS DANS LA BASE DE DONNEES */
$INSERT_NOM_PHOTO = @mysql_query("INSERT INTO photos ".
"( ".
"ID, ID_DOSSIER, CHEMIN_COMPLET, DOSSIER, PHOTO, ".
"LARGEUR_INIT, LARGEUR, HAUTEUR, LARGEUR_FNTR, HAUTEUR_FNTR ".
") ".
"VALUES ".
"( ".
"'$ID', '$ID_DOSSIER', '$CHEMIN_COMPLET', '$DOSSIER', '$PHOTO', ".
"'$LARGEUR_INIT', '$LARGEUR', '$HAUTEUR', '$LARGEUR_FNTR', '$HAUTEUR_FNTR' ".
")");
/* FIN INSERTION DES NOMS DES FICHIERS DANS LA BASE DE DONNEES */
$ID_DOSSIER++;
}
}
}
closedir($OPEN_DIR2);
}
c'est cette boucle for qui prends le plus de temps à l'exécution
le reste n'est que fioriture...
sur ce a+++ et merci
