IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] is_dir() ne fonctionne pas


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 227
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 227
    Par défaut [Tableaux] is_dir() ne fonctionne pas
    Bonjour,
    Mon code fonctionne bien. I va lister tout ce qu'on trouve dans un dossier.

    Pour que l'icone du fichier apparaisse j'ai ajouter la condition if(is_dir())
    Quand il voit un dossier il le liste comme un fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach($fichier as $value) {
        echo $value;
     
        if(is_dir($value)){
            echo '<a href="'.$repertoire.'/'.rawurlencode(str_replace ('/', '', $value)).'"><img src="img/dir-close.gif" border="0" />&nbsp;'.str_replace ('/', '', $value).'</a><br />';
        }else{
            echo '<a href="'.$repertoire.''.rawurlencode(str_replace ('/', '', $value)).'"><img src="img/file-none.gif" border="0" />&nbsp;'.str_replace ('/', '', $value).'</a><br />';
        }
    }
    Pourquoi la fonction is_dir() ne retourne pas TRUE quand elle passe sur un dossier

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 227
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 227
    Par défaut
    En fait je crois que c'esz sous le while que je dois detecter les dossier,
    mais comment?
    J'ai deja essaye des millier de truc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    if (is_dir($repertoire)){
    	$dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
    	while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file
    		if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'
     
    		$page = $file; //sort l'extension du fichier
    		$page = explode('.', $page);
     
    		$nb = count($page);
     
    		$nom_fichier = $page[0];
    		for ($i = 1; $i < $nb-1; $i++){
    			$nom_fichier .= '.'.$page[$i];
    		}
     
    		if(isset($page[1])){
    			$ext_fichier = $page[$nb-1];
    			if(!is_file($file)) { $file = ''.$file; }
    			}else {
    			if(!is_file($file)) { $file = ''.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
    			$ext_fichier = '';
    			}
     
    			if($ext_fichier != 'php' and $ext_fichier != 'html') { //utile pour exclure certains types de fichiers à ne pas lister
    			array_push($fichier, $file);
    			}
    		}
    	}

Discussions similaires

  1. [Tableaux] Glob() ne fonctionne pas
    Par francoisch dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2008, 09h05
  2. [Tableaux] remote_host ne fonctionne pas
    Par kynri dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2007, 10h45
  3. Des tableaux qui ne fonctionnent pas ?
    Par kevinf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/12/2006, 19h22
  4. [Tableaux] empty ne fonctionne pas
    Par zakuza dans le forum Langage
    Réponses: 22
    Dernier message: 27/07/2006, 18h19
  5. [Tableaux] $_ENV ne fonctionne pas ? ? ?
    Par Yann1974 dans le forum Langage
    Réponses: 12
    Dernier message: 17/07/2006, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo