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 :

Liste de mes php ne liste que les images


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 250
    Par défaut Liste de mes php ne liste que les images
    Bonjour, je me fais un outil qui devrait lister les PHP en local , curieusement sur un site de mon ordinateur, il parcours bien tout le site, mais n'fiche que les images ? peut 'être un détail que j'aurais mal codé ?
    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
    29
    30
    31
    32
    33
     
    <?php 
    function recursive_readdir ($dir) 
     {
    	if (is_dir ($dir)) $dh = opendir ($dir);
    	else {
    		  echo $dir, ' repertoire non valide'; 
    		  exit;
    		  }
    	while (($file = readdir ($dh)) !== false ) 
    	  { 
    		if ($file !== '.' && $file !== '..') 
    		 { 
               $path =$dir.'/'.$file; 
    		   if (is_dir ($path)) 
    		    { 
    				recursive_readdir ($path); 
    			}
    			else {
                       $OK="O";
                       if(strpos($file, " ") !== false)
    			         {
                          $OK="O"; } else{ $OK="N"; 
    					  }
    				 if ($OK=="O") {echo $path, '<br />';
    				 }  
             }
    		}
    	}
    	closedir ($dh); 
    }	
    recursive_readdir ('.');
    ?>

  2. #2
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 250
    Par défaut Je ne comprends rien a ces mail que vous m'envoyez, HELP
    Je reçois plein de mails mais je ne comprends pas ce que l'on attende de moi, je suis âgé et pourtant très ancien ici, m^^e j'ais en son temps écris des articles qui sont toujours là
    écrivez moi en privé ce que vous attendez de moi, mille mercis.
    Jean-Pierre Bruneau.

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 698
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698
    Par défaut
    Citation Envoyé par JPBruneau Voir le message
    Je reçois plein de mails mais je ne comprends pas ce que l'on attende de moi
    étaient-ce des e-mails indiquant que vous eu une réponse ici ?
    si le message n'apparait pas ici, c'est peut-être que l'auteur du message l'a retiré en pensant que le message n'allait peut-être pas vous être utile donc, dans ce cas, vous pouvez ignorer cet e-mail.

    Citation Envoyé par JPBruneau Voir le message
    curieusement sur un site de mon ordinateur, il parcours bien tout le site, mais n'fiche que les images ?
    la ligne 21 du code fait que seuls les fichiers qui contiennent un caractère espace sont affichés.
    est-ce bien le comportement que vous attendiez de ce code ?

    je me demandais aussi quel éditeur vous utilisez pour écrire votre code. parce que je pense qu'avec une indentation plus stricte, vous auriez plus de facilitées à analyser le code.

  4. #4
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 250
    Par défaut Ma solution qui marche (mais criticale je penses
    Merci à vous
    Et voici ce qui marche , mais certainement vous allez la retoucher pour être plus Pro !
    Donc dans les centaines de PHP de mon site je veux les PHP qui font du MySQL (sachant que ceux la j'ais donc "32bdd" etc...
    Alors je fais:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <?php 
    header('Content-type: text/html; charset=UTF-8');
    ini_set ('max_execution_time', 0);
    ini_set('memory_limit', '1024M');
     
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <?php 
    $Lui="";
    function recursive_readdir ($dir) 
     {
    	if (is_dir ($dir)) $dh = opendir ($dir);
    	else {
    		  echo $dir, ' repertoire non valide'; 
    		  exit;
    		  }
    	while (($file = readdir ($dh)) !== false ) 
    	  { 
    		if ($file !== '.' && $file !== '..') 
    		 { 
               $path =$dir.'/'.$file; 
    		   $Lui=$path;
    		   if (is_dir ($path)) { recursive_readdir ($path); }
    			else {
                       $OK="O";
                       if(strpos($file, ".php") >2)
    			         { $OK="O"; } else{ $OK="N"; }
    /* =================on cherche 32bdd================== */
    			         if ($OK=="O") 
    				     {  
                          $trouve="N"; 
                          $luiactu=file($Lui);
                          $NbrLigne=count($luiactu)-1;
                          for($a=0;$a<=$NbrLigne;$a++)
                           {
    /* ____________________________________ */						
                     $cherche="32bdd";
    /* _____________________________________ */						
                           $flag=strpos($luiactu[$a], $cherche) ;
                           if ($flag === FALSE ) {$SerARien=0;}
                           else { $trouve="O"; } 
                           }
                          if ($trouve=="O") 
    			             {	
    			             echo $path, '<br />';
     
    			             }     
    				 }  
             }
    		}
    	}
    	closedir ($dh); 
    }	
    recursive_readdir ('.');
    ?>
     
    </body></html>

  5. #5
    Invité
    Invité(e)
    Par défaut
    Pour éviter l’interférence entre la boucle de recherche et le code de traitement du fichier trouvé soit par l'utilisation de yield ou travailler en non récursif ou simplement place le code du traitement dans une fonction séparée

    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
    function recursive_readdir ($dir)
    {
      if (is_dir ($dir)){
    		$dh = opendir ($dir);
    		while (($basename = readdir ($dh)) !== false )
    		{
    			$path = $dir.'/'.$basename;
    			if (is_dir($path))	{
    			   if ($basename !== '.' && $basename !== '..')
    			    yield from recursive_readdir($path);
    			}elseif (substr($basename,-4) == '.php')
    				 yield $path;
     
    		}
    	    closedir ($dh); 
      }
    }	
    $fileEnum = recursive_readdir('.');
    foreach ($fileEnum as $file){
      // lister les fichiers .php trouvés 
      echo $file.'<br>';
     
    }

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2014
    Messages : 33
    Par défaut glob
    Bonjour,
    Pour lister les fichier php j'utilise personnellement la fonction glob qui retourne un tableau contenant les fichiers et leurs chemins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $chemin=glob($repertoire.'*.php');
    Ou pour lister les sous repertoires

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $parcourir = new RecursiveDirectoryIterator(realpath(__DIR__), FilesystemIterator::SKIP_DOTS);
    $fichier = new RecursiveIteratorIterator($parcourir );
     
    foreach ($fichier as $fichier) {
        echo $fichier ->getPathname() . PHP_EOL.'</br>';
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Isotope et lightbox, comment ne rendre visible que les images filtrées ?
    Par shifusan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/08/2016, 11h35
  2. [PHP 5.0] [PHP / Flash] Vérifier que les données viennent de Flash
    Par mims1664 dans le forum Langage
    Réponses: 3
    Dernier message: 28/07/2009, 22h08
  3. Ne rafraîchir que les images
    Par cincap dans le forum Général JavaScript
    Réponses: 32
    Dernier message: 20/03/2008, 16h05
  4. Réponses: 2
    Dernier message: 30/06/2006, 15h12

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