Page 1 sur 2

liste des fichiers

Posté : 29 sept. 2005, 13:26
par Isaric
j'ai des fichiers dans /textes
Je souhaite voir la liste des fichiers de /textes sur une autre page.
Que faut-il utiliser ?

Code : Tout sélectionner

file (/texte); ou filename(/texte); ou ...

Posté : 29 sept. 2005, 13:42
par Truc
Salut scandir() peut etre

Posté : 29 sept. 2005, 14:41
par Isaric
Quelque chose comme cela
<?php
echo scandir(/textes);

?>

J'ai
"Parse error: parse error, unexpected '/', expecting ')' in /var/www/...."

Posté : 29 sept. 2005, 14:44
par VaN
Quelque chose comme cela
<?php
echo scandir(/textes);

?>

J'ai
"Parse error: parse error, unexpected '/', expecting ')' in /var/www/...."
le dossier texte ne s'ecrit pas /textes, mais textes/ :wink:

Posté : 29 sept. 2005, 14:50
par Truc
le dossier texte ne s'ecrit pas /textes, mais textes/ :wink:
Si si il a raison :arrow: /textes

MAIS il s'agit d'une chaine de caractère => " ou ' a placer
:arrow: scandir ("/textes");

Parcontre c'est une fonction php5, il y a une alternative pour le php4 dans la doc (meme lien que je t'ai deja donnée)

Posté : 29 sept. 2005, 16:20
par Isaric
J'ai avec
<?php
echo scandir('/textes');
?>

Code : Tout sélectionner

Fatal error: Call to undefined function: scandir() in /var/www/free.fr/4/3/.../loader.php on line 22

Posté : 29 sept. 2005, 16:26
par Truc
Parcontre c'est une fonction php5, il y a une alternative pour le php4 dans la doc (meme lien que je t'ai deja donnée)
:!: :!:
Tu n'est pas en php5 donc la fonction n'existe pas

Posté : 29 sept. 2005, 16:44
par smarties
quand tu commence par /dossier, celui-ci doit se trouver dans la racine du serveur donc fait dossier/

Posté : 05 oct. 2005, 09:08
par Isaric
<?php
$dir = "/textes";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
   $files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
?> 
Je le transforme ainsi ?
<?php
$dir = "/textes";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
   $files[] = $filename;
}
sort($files);
echo($files);
rsort($files);
echo($files);
?>
Mais cela ne marche pas !

Posté : 05 oct. 2005, 09:10
par Cyrano
écris
$dir = "./textes";
Avec un point avant le "/"

Posté : 05 oct. 2005, 09:29
par Isaric
Merci ça marche j'ai :

Code : Tout sélectionner

ArrayArray ( [0] => index.htm [1] => .htaccess [2] => .. [3] => . )
Est-il possible de demander de ne pas voir les deux fichiers
[0] => index.htm [1] => .htaccess [2]

sachant sue si je rajoute un fichier index.htm.zip, il passe en premier :
ArrayArray ( [0] => index.htm.zip [1] => index.htm [2] => .htaccess [3] => .. [4] => . )

Posté : 05 oct. 2005, 09:38
par Cyrano
Pour index.htm, ça va être difficile, et le .htaccess est par la manière dont il est nommé un fichier caché (UNIX)

Mais dans ta liste, tu peux mettre une condition:
if($fichier != "index.htm" || $fichier != ".htaccess")
{
    //.....

Posté : 05 oct. 2005, 21:05
par Isaric
J'ai
<?php
$dir = "/textes";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {

   $files[] = $filename;
}
sort($files);
echo($files);
rsort($files);
echo($files);
?>
Où faut-il placer
if($fichier != "index.htm" || $fichier != ".htaccess")
{
avant while ?

Posté : 05 oct. 2005, 21:09
par Cyrano
Dedans:
<?php
$dir = "/textes";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
    if($filename != "index.htm" || $fichier != ".htaccess")
    {
        $files[] = $filename;
    }
}
sort($files);
echo($files);
rsort($files);
echo($files);
?>
Comme ça, il est même pas enregistré dans le tableau et ne sera donc pas affiché.

Posté : 05 oct. 2005, 21:33
par Isaric
J'ai toujours :
Liste des fichiers déjà téléchargés ArrayArray ( [0] => index.htm [1] => .htaccess [2] => .. [3] => . )

:? il se peut que cela vient de Free ? car le soir il pédale dans la smoule.
je regarde demain !