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 :

problème de sous-répertoires


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut problème de sous-répertoires
    bonjour,

    je travaille sur un script qui parcourt les sous-répertoires d'un dossier et affiche le nom du sous-répertoire ainsi qu'une image aléatoirement piochée dans ce sous-répertoire.

    Pour le nom ça marche nickel mais pour l'image ça m'affiche une croix car il va tenter d'afficher une image provenant d'un autre sous-répertoire.

    Une idée pour régler ça ?

    Code php : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     
    <?php
    function liste_rep($src_dir) 
    { 
    $dir = opendir($src_dir); 
    	while($nom = readdir($dir)) 
    	{ 
    		if ($nom!="." && $nom!="..") 
    		{ 
    		$chemin=$src_dir . "/" . $nom; 
    			if (is_dir($chemin)) 
    			{ 
    			echo(substr($chemin,2) . "<br>"); 
    			//liste_rep($chemin); 
    			if($dossier = opendir($chemin))
    				{
    					while(false !== ($fichier = readdir($dossier)))
    					{
    						$ext = pathinfo($fichier, PATHINFO_EXTENSION);
    						if($fichier != '.' && $fichier != '..' && strtolower($ext) == 'jpg')
    						{
    							$tab_fichiers[]=$fichier;
    						}
    					}
    				closedir($dossier);
    				}
    				else
    				{
    					 echo 'Le dossier n\' a pas pu être ouvert';
    				}
    				$fin = count ($tab_fichiers);
    				echo "<img src=".$chemin.'/'.$tab_fichiers[rand(0,$fin-1)]." height=150 border=0><br>";
    			} 
    		} 
    	}
    closedir($dir); 
    } 
    $src_dir = "."; 
    liste_rep($src_dir); 
    ?>

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($dossier = opendir($chemin)){
    //ici il faut réinitialiser ton tab_fichier, sinon tu ne construis qu'un immense tableau pour tous tes répertoires
    $tab_fichiers=array();
    while(false !== ($fichier = readdir($dossier))){
    {

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Merci, effectivement ça change tout.

    J'ai du modifier une ligne pour les dossiers qui avaient des espaces dans les noms de dossier ; je la mets pour ceux que ça intéresse :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<img src=".rawurlencode(substr($chemin,2)).'/'.$tab_fichiers[rand(0,$fin-1)]." height=150 border=0><br>";

Discussions similaires

  1. Problème de linker sous répertoire
    Par ArnaudD dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 04/10/2008, 20h07
  2. [SEAM] problème de navigation & sous répertoires
    Par pClement dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 30/05/2008, 10h37
  3. Problème d'include et sous-répertoires
    Par didou038 dans le forum Langage
    Réponses: 6
    Dernier message: 22/12/2006, 10h46
  4. Réponses: 7
    Dernier message: 12/09/2006, 14h22
  5. fichier .bat : problèmes avec des sous-répertoires
    Par aymron dans le forum Windows
    Réponses: 4
    Dernier message: 23/06/2005, 09h33

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