Script php listant fichier d'un répertoire
Résolu/Fermé
A voir également:
- Script php listant fichier d'un répertoire
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Script vidéo youtube - Guide
15 réponses
bacchuss
Messages postés
1162
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
6 avril 2009
190
3 nov. 2005 à 14:14
3 nov. 2005 à 14:14
sinon on peut aussi utiliser ca:
function AffDir($rep) { $dir = opendir($rep); while ($File = readdir($dir)) { if($File != "." && $File != "..") { echo $File."<br>"; } } closedir($dir); } AffDir(".");
Villa Flore
Messages postés
3
Date d'inscription
samedi 26 avril 2008
Statut
Membre
Dernière intervention
4 juillet 2008
14
Modifié par Jeff le 23/03/2010 à 11:45
Modifié par Jeff le 23/03/2010 à 11:45
Récupérer la liste des répertoires dans un tableau à partir d'une fonction récursive.
Les fonctions récursives, c'est bien joli, mais quand on veut récupérer des valeurs (il faut alors passer par un RETURN), ce n'est plus évident.
A partir du script de http://www.ac-creteil.fr/util/progra...epertoires.php
voici une adaptation qui permet de récupérer la liste des répertoires et sous-répertoires sous forme de tableau.
Le grand avantage est de pouvoir utiliser ce tableau dans des listes déroulantes ...
(une astuce INDISPENSABLE est d'utiliser des variables GLOBALES pour $liste_rep et pour $i )
Merci à tous les développeurs.
Les fonctions récursives, c'est bien joli, mais quand on veut récupérer des valeurs (il faut alors passer par un RETURN), ce n'est plus évident.
A partir du script de http://www.ac-creteil.fr/util/progra...epertoires.php
voici une adaptation qui permet de récupérer la liste des répertoires et sous-répertoires sous forme de tableau.
Le grand avantage est de pouvoir utiliser ce tableau dans des listes déroulantes ...
(une astuce INDISPENSABLE est d'utiliser des variables GLOBALES pour $liste_rep et pour $i )
<?php // ---------------------------------------------------------------------------------------------------------------------------------------------------------------- // lecture des REPERTOIRES en PROFONDEUR (à partir de "$rep") et COMPTAGE du nombre de fichiers (avec fonction récursive) // ---------------------------------------------------------------------------------------------------------------------------------------------------------------- // http://www.ac-creteil.fr/util/progra...epertoires.php /* script rep1.php * affichage récursif du contenu d'un répertoire, avec parcours en "profondeur d'abord" * pour cela dès que l'on a atteint et reconnu un sous-répertoire, on le parcours * prioritairement en appelant récursivement la fonction de parcours pour ce répertoire. */ function parcours_rep($rep, $ssrep, $racine, $i) // fonction récursive ("racine" est là pour retrancher cette racine au chemin complet afin de remplir le tableau) { if (is_dir($rep)) // Ouvre le dossier "racine" ("/photos_web/galeries/" par exemple) et lit tous les répertoires { if( $dir = opendir($rep) ) // Ouvre le dossier "racine" et lit tous les répertoires { while( ($fichier = readdir($dir)) !== false ) { if ($fichier != "." && $fichier != ".." ) { $chemin = $rep.$fichier; if (is_dir($chemin)) // Est-ce que $chemin est un répertoire ? { global $liste_rep; global $i; $liste_rep[$i] = substr($chemin, strlen($racine)); // PLace les fichiers dans un tableau ($liste_rep[] = à la fin) echo 'i = '.$i.' - '; echo 'liste_rep = '.$liste_rep[$i].'<br/>'; // echo 'chemin = '.$chemin."<br>"; $i++; parcours_rep($chemin.'/', ($ssrep==''?$fichier:$ssrep.'/'.$fichier) , $racine , $i); // fonction récursive } /* else // si on veut afficher les fichiers du répertoire (ou sous répertoire) { $liste_galeries[$i] = substr($chemin, strlen($racine)); // PLace les fichiers dans un tableau echo 'galerie '.$i. ' = ' . $liste_galeries[$i].'<br/>'; } */ } } } } // -------------------------------------- fin de la lecture des répertoires ------------------------------------------------------------------- else { echo "le répertoire \"$rep\" n'existe pas ..."; } closeDir($dir); return $liste_rep; } // ---------------------------------------------------------------- fin de la fonction ------------------------------------------------------------------- $liste_repertoires = array(); $liste_galeries = array(); $i=0; // $i = tous les répertoires $nb_rep=0; echo "Affichage d'un rép. avec parcours en PROFONDEUR d'abord <br/>"; //$repertoire= '../../photos_web/galeries/'; // "$repertoire" défini dans le programme d'appel $liste_repertoires = parcours_rep($racine, '', $racine, $i=0); $nb_galeries = (count($liste_galeries)); $nb_rep = (count($liste_repertoires)); echo 'nb_rep = '.$nb_rep.'<br/>'; // Classement des répertoires ( "sort" = tri croissant "rsort" = tri décroissant) sort($liste_galeries); // ou rsort($liste_galeries); sort($liste_repertoires); // ou rsort($liste_repertoires); for ($i=0; $i<$nb_rep; $i++) { if ($liste_repertoires[$i] != '') { echo 'liste_rep '.$i.' = '.$liste_repertoires[$i].'<br/>'; } } // ============================================================================================================================ ?>
Merci à tous les développeurs.
t super merci
mais je suis pas très doué et j'ai windows xp
alors si tu peux m'aider ca serai vraiment gentil
et encore merci
mais je suis pas très doué et j'ai windows xp
alors si tu peux m'aider ca serai vraiment gentil
et encore merci
jai fais ca merci :
___________________________________________________________
<?
$dossier_en_cours = "http://monsite.com/dossier_en_question/";
if ($handle = opendir(".")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") { // Evites les dossiers
echo $dossier_en_cours.$file."<br>";
}
___________________________________________________________
<?
$dossier_en_cours = "http://monsite.com/dossier_en_question/";
if ($handle = opendir(".")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") { // Evites les dossiers
echo $dossier_en_cours.$file."<br>";
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour à tous !
Tux1 a écrit ceci :
<?
$dossier_en_cours = "http://monsite.com/dossier_en_question/";
if ($handle = opendir(".")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") { // Evites les dossiers
echo $dossier_en_cours.$file."<br>";
}
Je voudrais savoir si, au lieu d'afficher le nom du dossier et du fichier ce serait possible de générer un lien direct vers chaque fichier qui est dans le dossier. Je ne sais pas comment faire !
Merci d'avance pour votre aide et bonne journée !
Tux1 a écrit ceci :
<?
$dossier_en_cours = "http://monsite.com/dossier_en_question/";
if ($handle = opendir(".")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") { // Evites les dossiers
echo $dossier_en_cours.$file."<br>";
}
Je voudrais savoir si, au lieu d'afficher le nom du dossier et du fichier ce serait possible de générer un lien direct vers chaque fichier qui est dans le dossier. Je ne sais pas comment faire !
Merci d'avance pour votre aide et bonne journée !
Avec le lien vers le fichier :
$dossier_en_cours = "http://monsite.com/dossier_en_question/";
if ($handle = opendir(".")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") { // Evites les dossiers
echo "<a href='".$file."'>".$dossier_en_cours.$file."</a><br>";
}
}
}
Dryzd
https://citewarhammer.com/
$dossier_en_cours = "http://monsite.com/dossier_en_question/";
if ($handle = opendir(".")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") { // Evites les dossiers
echo "<a href='".$file."'>".$dossier_en_cours.$file."</a><br>";
}
}
}
Dryzd
https://citewarhammer.com/
oui mais le lien en question ne marque que si les noms de fichiers ne comportent pas de caractères spéciaux, à savoir les espaces (à remplacer par %20 ) des ' ou " (à remplacer par \' et \" ) etc etc, il faudrait adapter le script pour qu'il modifie les noms à caractères spéciaux et les remplace automatiquement ^^
moi je suis pas encore assez expérimenté pour le faire désolé ^^'
moi je suis pas encore assez expérimenté pour le faire désolé ^^'
Bonjour,
j'aurai besoin dans un repoire contenant plusieur fichier de trouver le fichier comportant un nom, je m'explique
j'ai des image nomé apr exemple 23698-569-548963325.jpg un autre 23698-569-6942368.jpg etc.....
j'aimerai pouvoir utiliser un fichier en ne recherchant qu'a partir d'un N° contenu dans le nom du ficher ex : 6942368 me selectionerai le fichier 23698-569-6942368.jpg que je pourai ensuite travaillé et changer de place sur mon serveur.
mon probleme est la recherche du fichier avec un frangmment de son nom.
quelqu'un peut m'aider ?
d'avance merci
j'aurai besoin dans un repoire contenant plusieur fichier de trouver le fichier comportant un nom, je m'explique
j'ai des image nomé apr exemple 23698-569-548963325.jpg un autre 23698-569-6942368.jpg etc.....
j'aimerai pouvoir utiliser un fichier en ne recherchant qu'a partir d'un N° contenu dans le nom du ficher ex : 6942368 me selectionerai le fichier 23698-569-6942368.jpg que je pourai ensuite travaillé et changer de place sur mon serveur.
mon probleme est la recherche du fichier avec un frangmment de son nom.
quelqu'un peut m'aider ?
d'avance merci
tres bien cette fonction, mais comment je fait pour en deduire un nom de fichier plus long
ex si je recherche dans un nom de fichier 8749_4 j'aimerai que le script me retourne automatiquement le fichier gjzisn_66383068_8749_4.jpg
la je ne voi toujours pas comment faire :(
ex si je recherche dans un nom de fichier 8749_4 j'aimerai que le script me retourne automatiquement le fichier gjzisn_66383068_8749_4.jpg
la je ne voi toujours pas comment faire :(
rimrom
Messages postés
4
Date d'inscription
samedi 17 novembre 2007
Statut
Membre
Dernière intervention
7 avril 2009
7 avril 2009 à 12:10
7 avril 2009 à 12:10
bonjour !! aidez moi à avoir le code pour filtrage à partir d'1 liste menu en php
exemple : en selectionnant une direction la liste de ses sous directions apparait et en selectionnant une sous direction la liste de ses services apparait !!
MERCI D'AVANCE!!!!!
exemple : en selectionnant une direction la liste de ses sous directions apparait et en selectionnant une sous direction la liste de ses services apparait !!
MERCI D'AVANCE!!!!!
Villa Flore>petit erreur dans ton code
tu a marqué :
"
...
if ($fichier != "." && $fichier != ".." )
{
$chemin = $rep.$fichier;
if (is_dir($chemin)) // Est-ce que $chemin est un répertoire ?
{
...
"
alors que la syntaxe propre serait plutôt :
"$chemin = $rep.'\\'.$fichier;"
=>avec l'antislash pour associer les 2 variables et véritablement faire un lien absolut...
Sans ça la condition :
"if (is_dir($chemin)) // Est-ce que $chemin est un répertoire ?
{ " -> ne serait jamais vérifier et aucun répertoire ne serait trouver dans l'arborescence !
Cependant très beau code qui m'a bien arrangé
merci à toi Villa Flore
tu a marqué :
"
...
if ($fichier != "." && $fichier != ".." )
{
$chemin = $rep.$fichier;
if (is_dir($chemin)) // Est-ce que $chemin est un répertoire ?
{
...
"
alors que la syntaxe propre serait plutôt :
"$chemin = $rep.'\\'.$fichier;"
=>avec l'antislash pour associer les 2 variables et véritablement faire un lien absolut...
Sans ça la condition :
"if (is_dir($chemin)) // Est-ce que $chemin est un répertoire ?
{ " -> ne serait jamais vérifier et aucun répertoire ne serait trouver dans l'arborescence !
Cependant très beau code qui m'a bien arrangé
merci à toi Villa Flore
bacchuss
Messages postés
1162
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
6 avril 2009
190
3 nov. 2005 à 12:30
3 nov. 2005 à 12:30
salut
en php, tu as la fonction exec( ) qui te permet d'executer des commandes DOS par exemple...
ou alors passthru( ) ou system( )
en php, tu as la fonction exec( ) qui te permet d'executer des commandes DOS par exemple...
ou alors passthru( ) ou system( )
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
933
4 nov. 2005 à 12:37
4 nov. 2005 à 12:37
Vraiment pas une bonne idée d'utiliser exec , system et Cie.
Ce sont des fonctions à bannir et que tout administrateur PHP devrait interdire.
(pas sécure, non portable). Sauf si l'on doit faire appel à un programme externe propriétaire, sans API PHP évidemment.
On utilise les (nombreuses) fontion PHP permettant de manipuler fichiers et répertoires etc...
ou alors on a la flemme de chercher dans la documentation.
Ce sont des fonctions à bannir et que tout administrateur PHP devrait interdire.
(pas sécure, non portable). Sauf si l'on doit faire appel à un programme externe propriétaire, sans API PHP évidemment.
On utilise les (nombreuses) fontion PHP permettant de manipuler fichiers et répertoires etc...
ou alors on a la flemme de chercher dans la documentation.
bacchuss
Messages postés
1162
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
6 avril 2009
190
3 nov. 2005 à 12:46
3 nov. 2005 à 12:46
dans ton script, tu peux utiliser ces fonctions.
http://www.nexen.net/docs/php/annotee/function.system.php
ensuite selon ton OS, tu utilises la commande adéquate (ls ou dir)
http://www.nexen.net/docs/php/annotee/function.system.php
ensuite selon ton OS, tu utilises la commande adéquate (ls ou dir)