Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2007, 09h06   #1
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 60
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2006
Messages : 60
Points : 17
Points : 17
Par défaut [Configuration] Parcourir un dossier afin de lire le nom des fichiers qu'il contient

Bonjour,

Je suis entrain de créer une fonction qui me permet de lire tous les fichiers d'un répertoire y compris les sous dossiers, etc ...

Le code de ma fonction donne ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function lirerepertoire($nomrep)
{
  $dir = dir($nomrep);
  while ($nom = $dir -> read())
  {
    if (is_dir($nom))
    {
        lirerepertoire($nom);
    }
    echo $nom."<br/>";
  }
  $dir -> close();
}
D'après moi elle me semblait bonne, jusqu'à ce que je test la fonction ! Pour tester la fonction j'ai utiliser cela :
Code :
1
2
3
4
5
<?php
include "fonctions/suppr_rep.php";
lirerepertoire("ecole");
echo "bonjour";
?>
Mais quand je lance ma page test sur le navigateur, on me propose de télécharger la page "test.php", la page où j'appelle ma fonction. Je comprends plus rien, de plus j'ai tester de la télécharger, il n'y a rien qui y apparait.

Comprenez vous pourquoi j'ai ce problème ?

J'espère que vous allez pouvoir m'aider
Cordialement

2berte
2berte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 09h36   #2
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
Salut !

J'en mettrais pas ma main à couper, mais je crois que si il te propose de télécharger ton script, c'est que ton serveur apache n'interprete pas le PHP, et du coup te propose de le télécharger (comme bcp de formats d'ailleurs).

Donc soit tu as oublié de le démarrer, soit il n'est pas configuré. POur etre sûr, test avec

Si ca ca ne marche pas, alors tu dois revoir la configuration de ton serveur !

++
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 09h55   #3
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 60
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2006
Messages : 60
Points : 17
Points : 17
Non c'est bon, maintenant j'ai amélioré mon script, mais ça ne me donne pas grand chose, juste le droit à un warning !

Je donne ma nouvelle fonction :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function lirerepertoire($nomrep)
{
  // ligne 66 ->
  $dir = dir($nomrep);
  // ligne 67 ->
  while ($nom = $dir -> read())
  {
    if (is_dir($nom))
    {
        lirerepertoire($nomrep.'/'.$nom);
    }
    echo $nom."<br/>";
  }
  $dir -> close();
}
avec comme erreur :
Citation:
Warning: dir(ecole/./././././././././././././././././././././././././././././././././/./././././././././././././././././././././.) [function.dir]: failed to open dir: No error in E:\wamp\www\stage\fonctions\suppr_rep.php on line 66

Fatal error: Call to a member function read() on a non-object in E:\wamp\www\stage\fonctions\suppr_rep.php on line 67
Si vous pouvez continuer à m'aider, ça serait super sympa !

Merci
2berte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 10h01   #4
Membre éclairé
 
Avatar de deY!
 
Inscription : avril 2006
Messages : 403
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2006
Messages : 403
Points : 358
Points : 358
Il fait quoi dir() ?

Regarde plutot là pour faire un truc correct
http://fr.php.net/readdir
__________________
deY!
deY! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 14h07   #5
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 60
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2006
Messages : 60
Points : 17
Points : 17
Mon sujet est résolue

Finalement j'en ai fait une fonction qui supprime tout un dossier :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function lirerepertoire($nomrep)
{
  if (is_dir($nomrep))
  {
     $dir = dir($nomrep);
     while (false !==($nom = $dir -> read()))
     {
        if (is_dir($nomrep."/".$nom) && $nom!=="." && $nom!=="..")
        {
           lirerepertoire($nomrep."/".$nom);
        }
        elseif($nom!=="." && $nom!=="..")
        {
           unlink($nomrep."/".$nom);
        }
     }
     $dir -> close();
     @rmdir($nomrep);
   }
   else
   {
      echo "tes con, ton dossier existe pas ";
   }
}
Merci de votre aide
2berte est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h46.


 
 
 
 
Partenaires

Hébergement Web