Bonjour à tous,
Voilà alors en fait j'ai 2 répertoires images sur mon serveur, 1 pour les grandes photos et l'autre (à l'interieur du 1er répertoire) pour les mignatures (qui seront gérer automatiquement par php avec la class GD2).
les photos sont de type ma_photo.jpg et mes mignatures sont de types ma_photo-mini.png. Ils ont donc le même nom à la base sans les extensions.
Alors en fait j'aimerais que quand j'ajoute dans le répertoire photo (donc le 1er) des photos manuellement via ftp, un script liste les 2 répertoires et compare si les photos du 1er répertoire ont bien leur vignettes réspectives (dans le second répertoire).
J'ai bien fait un explode pour ne garder que le nom de la photo (donc sans l'extension .jpg pour les photos et sans le -mini.png pour les vignettes) mais rien n'y fait au finale de ma condition, il me liste tout le répertoire photo alors qu'en fait il devrait m'afficher qu'1 seul fichier ("moto_accueil" que j'ai ajouté manuellement en ftp mais qui n'a pas encore de vignette) !
Voici mon code à ce stade :
// 1 - Je liste les répertoire photos
$dir_principale = opendir("/srv/www/htdocs/web81/html/images/galeries/");
while($repertoire = readdir($dir_principale)) { //$repertoire étant les répertoires racines
if($repertoire != "." && $repertoire != ".." ) {
$dir_second = opendir("/srv/www/htdocs/web81/html/images/galeries/".$repertoire."/");// ouverture des sous répertoires
while($fichiers = readdir($dir_second)){
if($fichiers != "." && $fichiers != ".." ) {
$decoupe_grande = explode(".jpg",$fichiers);
$grande = $decoupe_grande[0];//On garde que le nom sans l'extension .jpg
$grande_tab[] = $grande;// On met les résultats dans un tableau
}}
$dir_third = opendir("/srv/www/htdocs/web81/html/images/galeries/".$repertoire."/mini/");
while($fichiers_mini = readdir($dir_third)) {
if($fichiers_mini != "." && $fichiers_mini != ".." ) {
$decoupe_mini = explode("-mini.png",$fichiers_mini);
$mini = $decoupe_mini[0]; //On garde que le nom sans l'extension - mini.png
$mini_tab[] = $mini;// On met les résultats dans un tableau
}}
}
}
//2 - Je récupère les contenus des répertoires et fait ma condition
for($i =0; $i<count($grande_tab); $i++){
if($grande_tab[$i] != $mini_tab[$j]) { // Si une photo n'est pas égale à une vignette...
echo $grande_tab[$i]."<br/>";//... alors on affiche la photo sans vignette
}
}
closedir ($dir_principale);
closedir ($dir_second);
closedir ($dir_third);
?>
Merci d'avance pour le coup de main.
PS: je début en php :o)
Modifié par slempens (10 Dec 2006 - 20:49)
Voilà alors en fait j'ai 2 répertoires images sur mon serveur, 1 pour les grandes photos et l'autre (à l'interieur du 1er répertoire) pour les mignatures (qui seront gérer automatiquement par php avec la class GD2).
les photos sont de type ma_photo.jpg et mes mignatures sont de types ma_photo-mini.png. Ils ont donc le même nom à la base sans les extensions.
Alors en fait j'aimerais que quand j'ajoute dans le répertoire photo (donc le 1er) des photos manuellement via ftp, un script liste les 2 répertoires et compare si les photos du 1er répertoire ont bien leur vignettes réspectives (dans le second répertoire).
J'ai bien fait un explode pour ne garder que le nom de la photo (donc sans l'extension .jpg pour les photos et sans le -mini.png pour les vignettes) mais rien n'y fait au finale de ma condition, il me liste tout le répertoire photo alors qu'en fait il devrait m'afficher qu'1 seul fichier ("moto_accueil" que j'ai ajouté manuellement en ftp mais qui n'a pas encore de vignette) !
Voici mon code à ce stade :
// 1 - Je liste les répertoire photos
$dir_principale = opendir("/srv/www/htdocs/web81/html/images/galeries/");
while($repertoire = readdir($dir_principale)) { //$repertoire étant les répertoires racines
if($repertoire != "." && $repertoire != ".." ) {
$dir_second = opendir("/srv/www/htdocs/web81/html/images/galeries/".$repertoire."/");// ouverture des sous répertoires
while($fichiers = readdir($dir_second)){
if($fichiers != "." && $fichiers != ".." ) {
$decoupe_grande = explode(".jpg",$fichiers);
$grande = $decoupe_grande[0];//On garde que le nom sans l'extension .jpg
$grande_tab[] = $grande;// On met les résultats dans un tableau
}}
$dir_third = opendir("/srv/www/htdocs/web81/html/images/galeries/".$repertoire."/mini/");
while($fichiers_mini = readdir($dir_third)) {
if($fichiers_mini != "." && $fichiers_mini != ".." ) {
$decoupe_mini = explode("-mini.png",$fichiers_mini);
$mini = $decoupe_mini[0]; //On garde que le nom sans l'extension - mini.png
$mini_tab[] = $mini;// On met les résultats dans un tableau
}}
}
}
//2 - Je récupère les contenus des répertoires et fait ma condition
for($i =0; $i<count($grande_tab); $i++){
if($grande_tab[$i] != $mini_tab[$j]) { // Si une photo n'est pas égale à une vignette...
echo $grande_tab[$i]."<br/>";//... alors on affiche la photo sans vignette
}
}
closedir ($dir_principale);
closedir ($dir_second);
closedir ($dir_third);
?>
Merci d'avance pour le coup de main.
PS: je début en php :o)
Modifié par slempens (10 Dec 2006 - 20:49)