obtention d'information sur les fichiers

Eléphant du PHP | 101 Messages

25 nov. 2005, 13:02

Bonjour, je suis au chapitre ou l'on parle de l'interaction avec le systèmede fichier et le serveur...
Je n'ai pas eu trop de mal à comprendre comment voir le contenu d'un dossier :

Code : Tout sélectionner

<?php $current_dir = '/var/www/uploads/'; $dir = opendir($current_dir); echo "Upload directory is $current_dir<br />"; echo 'Directory Listing:<br /><hr /><br />'; while ($file = readdir($dir)) { echo "$file<br />"; } echo '<hr /><br />'; closedir($dir); ?>
ceci étant dit, je n'arrive pas obtenir des infos sur les fichiers du répertoire... Le manuel m'indique de modifier le code précédent de la manière suivante :

Code : Tout sélectionner

while ($file = $dir->read()) { echo '<a href=\"filedetails.php?file='.$file.'\">'.$file.'</a><br />'; } echo '<hr /><br />';
J'ai alors l'erreur suivante :
Fatal error: Call to a member function on a non-object in /var/www/Examples/chapter16/browsedir.php on line 20
Juste sur la ligne

Code : Tout sélectionner

while ($file = $dir->read())
Je ne sais pas quoi faire... Pouvez-vous m'aider? :(

Merci d'avance :)
A+
nan!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 nov. 2005, 13:21

Salut, il y a un tas de fonction pour les fichiers, si tu veut avoir des infos dessus faut les utiliser :wink:

et pour l'erreur d'ou provient $dir ? as tu une class une méthode "read()" ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 101 Messages

25 nov. 2005, 13:35

salut truc
pour $dir, il vient de là :

Code : Tout sélectionner

$current_dir = '/var/www/uploads/'; $dir = opendir($current_dir);
Ensuite effectivement, je n'ai ni class, ni methode pour read... et surement de là que vient l'erreur, J'avoue qu'en prog OO, je suis un peu au fraise, comment ferais-tu pour crée cette class ou methode? :?

Merci
a+
nan!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 nov. 2005, 22:44

si tu n'as pas de classe pourquoi voiloir faire comme ça.
regarde du coté de scandir()
(pour php5)
sinon tu gardes ton 1er code et tu appliques les fonctions sur la variable $file

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute