Bonsoir,
je suis en train de modifier ma galerie photos, dans le but que les galeries apparaissent au sein de la structure de mon site Web, et plus dans une nouvelle fenêtre. Mon problème est que j'utilise des include pour insérer le contenu des pages au sein de la structure... Ma galerie fonctionne de telle sorte qu'un script PHP va dans le dossier contenant les galeries (réparties par dossiers), en fait un listing automatiquement et les affiche sur ma page... De ce listing sont disponibles des liens vers les dossiers de galeries, mais à la mode de l'include (à savoir photos.php?page=[NOMDELAGALERIE]) Ca, je l'ai réussi ! (Cf code #1)
Ensuite, j'ai tenté de modifier le script permettant de limiter les includes à ce qui est déclaré dans ce même script, pour éviter LA faille include... Et là, ça bloque... J'ai l'impression que quelque chose ne fonctionne pas dans le script, et comme j'ai un peu fait ça "en freestyle", on va dire que je ne vois pas trop d'où vient l'erreur... (Cf code #2)
Je poste ci-dessous les deux scripts, le premier faisant un listing du contenu du dossier "photos", contenant les diverses galeries, pour ensuite afficher ce listing sur la page contenant le script et enfin faire des liens vers ces galeries en fonction de l'include (photos.php?page=xxx)
Le second est celui qui foire... J'ai l'impression de toucher au but mais que quelque chose, un tout petit truc, coince...
Le problème est situé dans ce script :
Si quelqu'un a une idée d'où ça coince, merci d'un peu m'aider svp...
Merci d'avance...
Modifié par SolykZ (12 Dec 2006 - 04:00)
je suis en train de modifier ma galerie photos, dans le but que les galeries apparaissent au sein de la structure de mon site Web, et plus dans une nouvelle fenêtre. Mon problème est que j'utilise des include pour insérer le contenu des pages au sein de la structure... Ma galerie fonctionne de telle sorte qu'un script PHP va dans le dossier contenant les galeries (réparties par dossiers), en fait un listing automatiquement et les affiche sur ma page... De ce listing sont disponibles des liens vers les dossiers de galeries, mais à la mode de l'include (à savoir photos.php?page=[NOMDELAGALERIE]) Ca, je l'ai réussi ! (Cf code #1)
Ensuite, j'ai tenté de modifier le script permettant de limiter les includes à ce qui est déclaré dans ce même script, pour éviter LA faille include... Et là, ça bloque... J'ai l'impression que quelque chose ne fonctionne pas dans le script, et comme j'ai un peu fait ça "en freestyle", on va dire que je ne vois pas trop d'où vient l'erreur... (Cf code #2)
Je poste ci-dessous les deux scripts, le premier faisant un listing du contenu du dossier "photos", contenant les diverses galeries, pour ensuite afficher ce listing sur la page contenant le script et enfin faire des liens vers ces galeries en fonction de l'include (photos.php?page=xxx)
Le second est celui qui foire... J'ai l'impression de toucher au but mais que quelque chose, un tout petit truc, coince...

<?php
$dp = opendir('photos');
$i=0;
while ( $file = readdir($dp) )
{
// on enleve les fichiers . et ..
if ($file != '.' && $file != '..' && $file != 'index.html')
{
$ListFiles[$i]=$file;
$i++;
// on classe le résultat par ordre alphabétique croissant
sort($ListFiles);
}
}
closedir($dp);
// boucle pour générer chaque item de la liste
$i=0;
while ( $i < count($ListFiles))
{
/* Pour l'intitulé de chaque lien on récupère le nom du fichier dans $ListFiles et on remplace l'underscore par un espace */
$intitule_lien[$i]=str_replace("_"," ",$ListFiles[$i]);
// Puis on supprime l'extension
$intitule_lien[$i]=str_replace("","",$intitule_lien[$i]);
//Ensuite on masque les deux premiers caractères, permettant d'ordonner la liste
$intitule_lien[$i]=substr("'$intitule_lien[$i]'", 3, -1);
// Enfin on met la première lettre du résultat en majuscule
$intitule_lien[$i]=ucwords($intitule_lien[$i]);
echo "<table class='photos'><tr><td><img src='photos/".$ListFiles[$i]."/miniatures/001.jpg' alt='".$ListFiles[$i]."' width='100' /></td></tr><tr><td><a href='photos.php?page=".$ListFiles[$i]."'>".$intitule_lien[$i]."</a></td></tr></table><br />";
$i++;
}
?>
Le problème est situé dans ce script :
<?php
$dp = opendir('photos');
$i=0;
while ( $file = readdir($dp) )
{
// on enleve les fichiers . et ..
if ($file != '.' && $file != '..' && $file != 'index.html')
{
$ListFiles[$i]=$file;
$i++;
// on classe le résultat par ordre alphabétique croissant
sort($ListFiles);
}
}
closedir($dp);
// boucle pour générer chaque item de la liste
$i=0;
while ( $i < count($ListFiles))
{
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
switch($page)
{
case '".$ListFiles[$i]."':include ('photos/".$ListFiles[$i]."/index.php');break;
$i++;
}
}
?>
Si quelqu'un a une idée d'où ça coince, merci d'un peu m'aider svp...
Merci d'avance...
Modifié par SolykZ (12 Dec 2006 - 04:00)