[PHP] metre la variable ... à la place de ... [Résolu/Fermé]

Signaler
Messages postés
232
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
21 septembre 2014
-
Messages postés
232
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
21 septembre 2014
-
Bonjour, j'aimerai que vous m'aidiez a résoudre ce problème : http://www.siteduzero.com/tutoriel-50-36077-29522.html#r29522
PS : je recopie le pb ici :
voici mon fichier index.php :
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<p>
Veuillez entrer le nom du dossier que vous shouaitez voir :
</p>

<form action="contennu_dossier.php" method="post">
<p>
<input type="text" name="dossier" /> <input type="submit" value="Valider" />
<br />
<br />
<?php
$dir = glob("*/"); //Liste des dossiers

echo("<strong>Dossiers disponibles :</strong><br />");
foreach($dir as $dir_name) {
echo("<li>/<a href=\"".$dir_name."\">".$dir_name."</a><br />");
echo("</li>");
}
?>

</p>
</form>

et voici mon fichier contennu_dossier.php :

<meta content="text/html; charset=utf-8" http-equiv="content-type">

Voila les fichiers présent dans le dossier :
<?php
$nb_fichier = 0;
$dossier = $_POST['dossier'];
echo '<ul>';
if($dossier = opendir(".$dossier"))
{

while(false !== ($fichier = readdir($dossier)))
{
if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
{
$nb_fichier++; //On incrémente le compteur de un
echo '<li><a href="./mondossier/' . $fichier . '">' . $fichier . '</a></li>';
} //On ferme le if (qui permet de ne pas afficher index.php, etc.)

} //On termine la boucle
echo '</ul><br />';
echo 'Il y a <strong>' . $nb_fichier .'</strong> fichier(s) dans le dossier';

closedir($dossier);

}

else
echo 'Le dossier n\' a pas pu être ouvert';
?>

Sauf que j'ait un problème :p ; là :
echo '<li><a href="./mondossier/' . $fichier . '">' . $fichier . '</a></li>';

Je voudrait mettre la variable $dossier a la place de /mondossier/, mais après cela ne fonctionne pas, comment faire ?


Merci de votre aide

Cordialement

2 réponses

Salut,

Ca donne
echo '<li><a href="./'.$dossier.'/' . $fichier . '">' . $fichier . '</a></li>';


ou si ca ne marche pas remplace le "./" par juste un point, mais normalement ca devrait être bon.
et oui les guillemets c'est pas evident au debut, avec les anti-slash devants ca complique.

Sinon, si tu veut eviter de tapper le nom du dossier a afficher, tu peut remplacer dans la 1ere page la ligne suivante
echo("<li>/<a href=\"".$dir_name."\">".$dir_name."</a><br />"); 

par
echo("<li>/<a href=\"contennu_dossier.php?dossier=".$dir_name."\">".$dir_name."</a><br />"); 


et dans a 2eme page remplacer le
$dossier = $_POST['dossier']; 

par
$dossier = $_REQUEST['dossier'];


Tu aura alors les 2 methodes pour afficher transmettre le nom de dossier vers l'autre page,
la premiere en POST (formulaire) et la seconde en GET (par l'url).
(le tableau $_REQUEST est fourni par php et regroupe les différents méthodes utilisées : GET, POST et COOKIE)

Bon courage :)
Messages postés
232
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
21 septembre 2014
37
Ok, merci je teste....
Merci sa marche !
:D