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 :

recupéré le nom des fichier depuis un html


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut recupéré le nom des fichier depuis un html
    Bonjour à tous

    voila je galère depuis ce matin sur une fonction qui devrai récupéré le nom d'un fichier présent dans une page html de ce style.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
             lundi 6 juillet 2011    10:21        <dir> 00555500
    ici le nom du fichier c'est "00555500"

    donc j'ai prenser à utiliser une fonction preg_match que j'ai malheureusement du mal à maitrisser.
    j'essaye de lui dire dès que tu a "<dir>" tu me recupère ce que tu as derière.
    donc j'ai fait ce code .
    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
     
    elseif ($fp = fopen($path , 'rb'))  {
     
           if (!$fp) {
        echo "$errstr ($errno)<br />\n";
        } else {
        while (false !== ($filename = stream_get_contents($fp))) {
           if (!in_array($filename, $exclude_array)) {
           	preg_match('`^<[a-z]+>[0-9]+)$`', $path, $matches);
              $file = array('name' => $path . $matches,
                            'namefile' => $matches,
                            'is_dir' => is_dir($path . $matches)
                                                 );
     
           $result[] = $file;
    mais j'ai une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: preg_match(): Compilation failed: unmatched parentheses at offset
    Merci d'avance de votre aide.

  2. #2
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Salut,

    Tu n'as pas ouvert ta parenthèse dans ton pattern.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut oui
    Bonjour et merci de ta réponse.

    oui en effet c'est mon preg match qui merde

    donc j'ai essayer sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     preg_match('`^( [a-zA-Z0-9])  ( [a-zA-Z0-9])  (<[a-zA-Z]>) ([0-9])  $`', $path, $matches);
    les espaces sontles séparateur

    et je recupère le 4 eme champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $file = array('name' => $path . $matches[4],
    j'ai plus l'erreur de preg mais ca


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes)
    et la je comprend pas


    merci .

  4. #4
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    C'est que ton script prend trop de mémoire à l'exécution. Optimise ton traitement si tu peux ou augmente la valeur de memory_limit dans le php.ini ou via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set("memory_limit",'16M');
    Tu as quoi comme traitement avant ? Tu traites beaucoup de ligne dans ta boucle ?

    Pour le pattern j'aurai mis un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('`(.*)<([a-z]+)> ([0-9]+)`', $path, $matches);
    Mais je suis pas un spécialiste des expressions régulières

  5. #5
    Membre actif
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Points : 290
    Points
    290
    Par défaut
    Pourquoi ne pas faire ça directement si la balise dir existe toujours ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('<dir> ([0-9]+)', $path, $matches);

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    Merci de ta réponse

    J'ai du raté un épisode car oui en effet ton idée MinDBuSteR étais judicieuse
    mais malheureusement ca me créer une autre erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: preg_match(): Unknown modifier '
    avec le code suivant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
         preg_match('<dir> ([0-9]+)', $path, $matches);
              $file = array('name' => $path . $matches,
                            'namefile' => $matches,
                            'is_dir' => is_dir($path . $matches)
                                              );
    merci à tous de votre aide.

  7. #7
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    MinDBuSteR a tout simplement oublié de reporter les délimiteurs du pattern :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('`<dir> ([0-9]+)`', $path, $matches);
    Qu'en est-il de ton problème d'allocation mémoire ?

    PS: je n'avais pas raccourcis le pattern volontairement des fois qu'il s'en serve plus loin. Visiblement, ce n'est pas le cas

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    Oui justement avec cette modif j'ai plus d'erreur preg_match
    mais j'ai toujours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Allowed memory size of 134217728 bytes exhausted
    et malheureusement rien ne s'affiche.

    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
      if($fp = fopen($path , 'rb'))  {
     
           if (!$fp) {
        echo "$errstr ($errno)<br />\n";
        } else {
        while (false !== ($filename = stream_get_contents($fp))) {
           if (!in_array($filename, $exclude_array)) {
            preg_match('`<dir> ([0-9]+)`', $filename, $matches);
          // var_dump($matches);
              $file = array('name' => $path . $matches,
                            'namefile' => $matches,
                            'is_dir' => is_dir($path . $matches)
                            //,
                           // 'size' => filesize($path . $filename),
                            //'last_modified' => strftime(DATE_TIME_FORMAT, filemtime($path . $filename))
                            );
     
           $result[] = $file;

    merci

  9. #9
    Membre actif
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Points : 290
    Points
    290
    Par défaut
    MinDBuSteR a tout simplement oublié de reporter les délimiteurs du pattern
    Mes excuses, je devrait utiliser mes nuits à dormir...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    ta pas a t'excuser c'est moi qui t'embete avec mon probleme de nom de fichier .

    C'est un truc trop compliqué pour moi je crois.

  11. #11
    Membre actif
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Points : 290
    Points
    290
    Par défaut
    Essaie juste ça sans ta boucle while :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(preg_match('`<dir> ([0-9]+)`', $filename, $matches)){
    	$name = $matches[1];
    }

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    J'ai fait quelque test

    le fopen ce passe correctement.

    le stream_get_contentsn ce passe correctement
    et m'affiche bien sont contenu "echo filename".

    Par contre le preg match m'affiche 0 en retour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $result=preg_match('`<dir> ([0-9]+)`', $filename, $matches);
    donc le problème vient bien du preg_match

    Merci de votre aide en tous cas


    Je viens de m'apercevoir qu'en faite il y a un href dans la liste de fichier


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     lundi 6 juillet 2009    11:21        &lt;dir&gt; <A HREF="/Log_Quot_tre/00000000/">00000000</A><br>

  13. #13
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    En fait, tu ouvres avec PHP un fichier HTML, qui contient la liste des fichiers d'un dossier (comme une liste d'un FTP), et tu affiches cette liste de fichiers ?

    Il ne te serais pas plus simple de faire la liste toi même directement en PHP ?

    Et si tu modifies ton pattern par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = preg_match('`HREF="\/Log_Quot_tre\/([0-9]+)\/"`', $str, $matches);
    ça change quelque chose ?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut merci
    Merci pour ta réponse et malheureusement j'ai pas le choix c'est en effet une liste de fichier, genre ftp, qui change regulièrement.

    donc j'ai essayer ton code et j'ai comme retour

    1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    ce qui veut dire un seul reconnu.

    Comme quoi il y a du progres.

    Mais pourquoi 1 seul bizzard, ils ont tous le même format.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      jeudi 1 mars 2012    02:00        &lt;dir&gt; <A HREF="/Log_Quot_STD/20120301/">20120301</A><br>        
     vendredi 2 mars 2012    02:00        &lt;dir&gt; <A HREF="/Log_Quot_STD/20120302/">20120302</A><br>          
     samedi 3 mars 2012    02:00        &lt;dir&gt; <A HREF="/Log_Quot_STD/20120303/">20120303</A><br>

    merci en tous cas

  15. #15
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Montre nous le code qui affiche la page, ainsi que la page html que tu lis en entier s'il te plait.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    ok voici la page qui affiche le code.
    cette page appel une fonction "tep_opendir" qui a deux parties
    la première pour les fichiers en locals la deuxieme (qui ne marche pas) pour les cfichiers en http

    page principal

    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
     
     $check_query = tep_db_query("select it_environment_id, directory, name from " . TABLE_IT_ENVIRONMENT. " ");
     
      while ($admins = tep_db_fetch_array($check_query)) {	
     
      $path=( $admins['directory']);
      tep_opendir($path);
     
     
    foreach (tep_opendir(DIR_WS_LANGUAGES . $HTTP_GET_VARS['lngdir']) as $file) {
     
     
      	// research if log is install and status
    	  $installed="FALSE";
      	$search_query = tep_db_query("SELECT it.it_environment_id,it.directory, it.name, da.daily_id, da.date_daily, da.directory_daily, da.name_daily, da.current_daily, da.enable_daily FROM it_environment it, daily da where it.it_environment_id= da.it_environment_id and da.name_daily like '" . tep_db_input($file['namefile']) . "' ");
            $search = tep_db_fetch_array($search_query);
     
    		//if file is in database
             if ($search[name_daily]==$file['namefile']) {
    		 $installed="TRUE";
           $aInfo = new objectInfoSearch($search);
     
    	      echo    '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_DAILY_EXTRACT, 'aID=' .  $search['daily_id'].'&aDA=' . $file['last_modified']. 'aIN='. $installed ) .'\'">' ;
              }else {
    		  $compteur= tep_db_query("SELECT max(daily_id) FROM daily ");
    		  $compteurmax= mysql_result($compteur,0, "max(daily_id)");
    		  $fctr+=1;
    		  $ctr=$fctr+$compteurmax;
              	$aInfo = new objectInfo($admins);
    			   echo    '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_DAILY_EXTRACT, 'cID=' . $ctr. 'aENT=' .$admins['directory']. 'aDI=' .$file['namefile'] .'aDAT=' . $file['last_modified'])  .'\'">' ;  
            }
           // var_dump($file['namefile']);
         echo    
                 '                <td class="dataTableContent">'.$admins['name'].'</a></td>' .
                 '                <td class="dataTableContent">'.$file['name'].'</a></td>' .
                 '                <td class="dataTableContent" align="center">' . tep_image(DIR_WS_IMAGES . 'icons/' . (($installed == "TRUE") ? 'tick.gif' : 'cross.gif')) . '</td>' .
                 '                <td class="dataTableContent" align="center">' . tep_image(DIR_WS_IMAGES . 'icons/' . (($search ['enable_daily'] == "TRUE") ? 'tick.gif' : 'cross.gif')) . '</td>' .
                 '                <td class="dataTableContent" align="center">' . tep_image(DIR_WS_IMAGES . 'icons/' . (($search ['current_daily'] == "TRUE") ? 'tick.gif' : 'cross.gif')) . '</td>' .
                 '                <td class="dataTableContent" align="right">' . $file['last_modified'] . '</td>' ;
     
     
     ?>

    La fonction
    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
    64
    65
    66
    67
    68
     
      // fonction open daily
        function tep_opendir($path){
        	global $path;
     
        $exclude_array = array('.', '..', '.DS_Store', 'Thumbs.db');
     
        $result = array();
     
     
      // if local
        if ($handle = opendir($path)) {
          while (false !== ($filename = readdir($handle))) {
           if (!in_array($filename, $exclude_array)) {
              $file = array('name' => $path . $filename,
                            'namefile' => $filename,
                            'is_dir' => is_dir($path . $filename),
                            'size' => filesize($path . $filename),
                            'last_modified' => strftime(DATE_TIME_FORMAT, filemtime($path . $filename)));
     
           $result[] = $file;
     
     
                                                    }
     
                               }
          closedir($handle);
     
     
      }elseif ($fp = fopen($path , 'rb'))  {
     
           if (!$fp) {
        echo "$errstr ($errno)<br />\n";
        } else {
     
     
        while (false !== ($filename = stream_get_contents($fp))) {
         //echo $filename; 
          if (!in_array($filename, $exclude_array)) {
     
           $result = preg_match('`HREF="\/Log_Quot_STD\/([0-9]+)\/"`', $filename, $matches);
           echo  $result;
             //echo $result; 
          /* 
     
              $file = array('name' => $path . $matches[2],
                            'namefile' => $matches[2],
                            'is_dir' => is_dir($path . $matches[2])
                            //,
                           // 'size' => filesize($path . $filename),
                            //'last_modified' => strftime(DATE_TIME_FORMAT, filemtime($path . $filename))
                            );
     
           $result[] = $file;
          */  }
           }
     
    }
         fclose($fp);
          //if directory environment not correct
        }else{
                 echo    '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)">' .  
    	             '                <td class="dataTableContent">'.$path.TABLE_DIRECTORY_ENVIRONMENT_ERROR.'</a></td>' .
    				              '              </tr>';
     
                                            }
        return $result;
      }


    désolé c'est un peu long mais j'ai pas pu plus racourcir

    Merci à vous tous.


  17. #17
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Et un exemple de fichier que tu lis c'est possible ?

    Ca nous aidera pour construire ton expression régulière et peut-être optimiser ton code.

    Je parle d'un fichier qui est lu par cette portion de code :

    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
    elseif ($fp = fopen($path , 'rb')) {
            if (!$fp) {
                echo "$errstr ($errno)<br />\n";
            }
            else {
                while (false !== ($filename = stream_get_contents($fp))) {
                    if (!in_array($filename, $exclude_array)) {
                        $result = preg_match('`HREF="\/Log_Quot_STD\/([0-9]+)\/"`', $filename, $matches);
                        echo  $result;
                        //echo $result; 
                        /* 
                        $file = array('name' => $path . $matches[2],
                            'namefile' => $matches[2],
                            'is_dir' => is_dir($path . $matches[2])
                            //,
                            // 'size' => filesize($path . $filename),
                            //'last_modified' => strftime(DATE_TIME_FORMAT, filemtime($path . $filename))
                        );
     
                        $result[] = $file;
                        */
                    }
                }
     
            }
            fclose($fp);
            //if directory environment not correct
        }
    PS: attention au formatage de ton code, c'est compliqué à lire

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    Bonjour et désolé de pas avoir repondu tous de suite.

    Alors j'ai enfin reussi a afficher ce que je voulais l'error venais des balises qui foutais en l'air expression donc j'ai rajouter un strip tag et j'ai modifier l'expression

    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
     
     
    elseif ($fp = fopen($path , 'rb'))  {
     
           if (!$fp) {
        echo "$errstr ($errno)<br />\n";
        } else {
     
     
        if (false !== ($filename = strip_tags (stream_get_contents($fp)))) {
          if (!in_array($filename, $exclude_array)) {
           preg_match('`&lt;dir&gt; ([0-9]+)`', $filename, $matches);
     
     
     
             $file = array('name' => $path . $matches[1],
                            'namefile' => $matches[1]);
     
               $result[] = $file;
     
     
            }
           }

    le probleme maitenant c'est que ca s'affiche bien mais il m'affiche qu'une seul ligne la premier

    http MisREA http://grc-goi.rb1.XX.XXXXXX.fr:8080...t_STD/00000000

    ca doit être un probleme d'algo a chaque fois le preg_match doit retourne la meme ligne et pas la suivante.

    Quelq'un aurait il une idée ?

    En tous cas merci à tous

  19. #19
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Et avec preg_match_all ?

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    oui j'ai trouver


    il suffit de faire


    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
     
      preg_match('`&lt;dir&gt; ([0-9]+)`', $filename, $matches);
     
          $nb=count($matches[0]); 
     
     
            for($i=0;$i<$nb;$i++) 
             { 
     
               $file = array('name' => $path . ($matches[1][$i]),
                            'namefile' => ($matches[1][$i]));
     
               $result[] = $file;
     
             }
    par contre j'ai pas compris pourquoi il faut compté les matches car tehoriquement ca devrait marcher avec

    un while($matches) . Ben non apparament

    Quelqu'un connait la réponse pour que je sois moins ignard

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

Discussions similaires

  1. Stocker les nom des fichiers d'un type d'un repértoire
    Par Bloodscalp dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 12/09/2006, 14h26
  2. fonction qui met en liste les noms des fichiers
    Par aliassaf dans le forum Général Python
    Réponses: 2
    Dernier message: 22/06/2006, 11h50
  3. Ecrire les noms des fichiers dans une colonne
    Par REGIMBAL dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2006, 11h29
  4. Noms des fichiers téléchargés par wget
    Par benj63 dans le forum Linux
    Réponses: 2
    Dernier message: 22/02/2006, 11h54
  5. ShellListView : comment récupérer les noms des fichiers?
    Par Lolo1988 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 11/12/2005, 23h19

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