Rechercher : dans
Par :

Script php listant fichier d'un répertoire

Dernière réponse le 7 avr 2009 à 12:10:07 Tux1, le 3 nov 2005 à 12:17:49 
 Signaler ce message aux modérateurs

Voila bonjour je cherche un script qui liste les fichiers d'un répertoire MAIS AVEC LE : http://monsite.com/dossier_en_question/

exemple: http://monsite.com/dossier_en_question/patatipatata.exe

merci et j'espere que quelqu'un ma compris

Meilleures réponses pour « Script php listant fichier d'un répertoire » dans :
[PHP] Lister le contenu d'un répertoire Voir Grâce à PHP, il est possible d'afficher le contenu d'un répertoire et de ses sous-répertoires. Voici ci-dessous une fonction permettant de parcourir récursivement les répertoires et sous-répertoires et d'en afficher les fichiers : function...
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
Implantation du code Php VoirL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et...

1

bacchuss, le 3 nov 2005 à 12:30:54

Salut
en php, tu as la fonction exec( ) qui te permet d'executer des commandes DOS par exemple...

ou alors passthru( ) ou system( )
__________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss

2

Tux1, le 3 nov 2005 à 12:44:41

Merci de ta réponse

mais peut tu précisé sil te plait merci

Répondre à Tux1

3

bacchuss, le 3 nov 2005 à 12:46:51

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) __________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss

4

Tux1, le 3 nov 2005 à 12:50:02

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

Répondre à Tux1

5

bacchuss, le 3 nov 2005 à 14:14:50
  • +10

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(".");
__________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss

6

jisisv, le 4 nov 2005 à 12:37:53
  • +2

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. Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

7

Tux1, le 4 nov 2005 à 16:59:14

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>";

}

Répondre à Tux1

8

Geo, le 15 fév 2006 à 10:47:36

Salut

jette un oeil ici : http://www.jbc-explorer.com

@+

Geo

Répondre à Geo

9

max59166, le 7 jan 2007 à 12:37:30

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 !

Répondre à max59166

10

Dryzd, le 25 jui 2007 à 09:05:20

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
http://www.citewarhammer.com

Répondre à Dryzd

11

Ghaldur, le 26 jui 2007 à 20:51:11

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é ^^'

Répondre à Ghaldur

12

sebalab, le 5 nov 2007 à 18:08:16

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

Répondre à sebalab

13

alex, le 27 nov 2007 à 11:03:53
Répondre à alex

14

sebalab, le 28 nov 2007 à 02:28:50

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 :(

Répondre à sebalab

15

Villa Flore, le 4 jui 2008 à 01:33:21
  • +1

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 )

<?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.

Répondre à Villa Flore

16

 rimrom, le 7 avr 2009 à 12:10:07

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!!!!!

Répondre à rimrom
Collection CommentÇaMarche.net