Lister les fichiers d'un répertoire et les ouvrir / php

Fermé
simbah92 Messages postés 3 Date d'inscription lundi 4 août 2014 Statut Membre Dernière intervention 5 août 2014 - 4 août 2014 à 23:29
astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 - 7 août 2014 à 08:18
Salut tout le monde, je suis débutant avec php, et j'ai un problème, j'accède àun répertoire et je liste touts les fichiers dans ce dernier, ou je me bloque c'est dans le fait que dans les fichiers affichés je veux cliquer sur un et avoir son contenu affiché, à quoi j'ai pensé c'est d'avoir une variable qui stocke les noms des fichiers mais je ne sais pas comment le faire.

PS: le repertoire est changé régulièrement avec l'ajout de nouveaux fichiers.


le code pour lister les fichiers dans le répertoire est le suivant:



<form method="post" action="form.php" enctype="multipart/form-data"><p align="center">
<font color="white">
<input type="submit" name="selectionner" value="lister le repertoire" >

</font></p>
</form>

<?php
if(isset($_POST['selectionner'])){
$dirname = 'chemin_du_répertoire';
$dir = opendir($dirname);

while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file))
{
echo '- <a href="'.$dirname.$file.'">'.$file.'</a>'.'<br /><br />';
}
}

closedir($dir); }
?>

1 réponse

astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
Modifié par astuces72 le 5/08/2014 à 08:58
slt

pourquoi un formulaire ?
tu étais bien parti, mais pas besoin de formulaire pour lister le contenu et mettre les fichiers en liens, simplement:

<?php
$dirname = 'ton_dossier';
$dir = opendir($dirname);

while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file))
{
echo '<a href="'.$dirname.'/'.$file.'">'.$file.'</a>'.'<br /><br />';
}
}

closedir($dir);
?>

Signature
2
simbah92 Messages postés 3 Date d'inscription lundi 4 août 2014 Statut Membre Dernière intervention 5 août 2014
5 août 2014 à 09:29
c'est que j'ai pris cette partie du code d'un plus grand et dans mon code j'utilise des boutons :)
0
astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
5 août 2014 à 09:38
explique toi mieux, je comprend pas :)
tu veux des boutons à la place des liens ?
0
simbah92 Messages postés 3 Date d'inscription lundi 4 août 2014 Statut Membre Dernière intervention 5 août 2014
5 août 2014 à 11:24
merci pour la réponse astuces72, je m'explique mieux :). Je veux en effet à partir du bouton parcourir depuis mon site accéder à un dossier contenant des fichiers et quand je clique dessus je peux avoir le contenu du fichier qui s'affiche. ça c'est le principe de base.

mais pour mieux faire, j'ai pensé à partir d'un bouton lister le contenu d'un dossier, ce qui va m'afficher, sur mon site même, tous les fichiers dans ce dossier et après je clic sur un fichier et il m'affiche son contenu.

Je sais que c'est un simple fopen, mais fopen requiert le nom du fichier, si beaucoup de fichier il m'est difficile de faire pour chacun un fopen, sachant que les fichiers s'joutent régulièrement.

Merci encore
0
astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
7 août 2014 à 08:18
re

et ça ?
j'ai repris des bouts de code existant sur le net.
il liste les dossiers la ou se trouve la page.

<form method="post" action="" enctype="multipart/form-data">
<select name="liste">
<?php

$dirname = ".";
$traite = opendir($dirname);
while($fichier = readdir($traite))
{
if ($fichier != "." && $fichier != ".." && is_dir($fichier))
{
echo '<option value="'.$fichier.'">'.$fichier.'</option>';
}
}
closedir($traite);
?>
</select>
<input type="submit" name="selectionner" value="lister le repertoire" >
</form>

<?php
if(isset($_POST['selectionner']))
{
$dirname = $_POST['liste'];
$dir = opendir($dirname);

while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file))
{
echo '<a href="'.$dirname.'/'.$file.'">'.$file.'</a></br>';
}
}
closedir($dir);
}
?>
0