1

Bonjour à tous,

J'ai un liste de fichiers qui contiennent des noms / chemins de fichiers.

Je dois tester si ces noms / chemins de fichiers sont bien présents sur le site web.

Mon erreur est, j'en suis sûr toute bête mais j'arrive pas à trouver
+; } ?>Si je mets : <?php $path = '../games/cstrike/maps/'; $res = glob($path . '*.res'); $i = 0; while (isset($res[$i])) { echo $res[$i] . '<br />'; $handle = @fopen($res[$i], 'r'); if ($handle) {    while (!feof($handle)) {      $buffer = fgets($handle, 4096);           if (preg_match("!^//!", $buffer) == FALSE)           {           echo $buffer;                $cheminFichier = '../games/cstrike/' . $buffer;                if (file_exists($cheminFichier)) {                echo 'oui' . '<br />'; }                                else {                echo 'non' . '<br />'; }           }    }    fclose($handle); }   $i+ ça me mets non partout alors que le fichier existe, j'en suis sûr :/
+; } ?>Si je mets : <?php $path = '../games/cstrike/maps/'; $res = glob($path . '*.res'); $i = 0; while (isset($res[$i])) { echo $res[$i] . '<br />'; $handle = @fopen($res[$i], 'r'); if ($handle) {    while (!feof($handle)) {      $buffer = fgets($handle, 4096);           if (preg_match("!^//!", $buffer) == FALSE)           {           echo $buffer;                $cheminFichier = '../games/cstrike/' . $buffer;                if (file_exists('../games/cstrike/gfx/env/trainyardup.tga')) {                echo 'oui' . '<br />'; }                                else {                echo 'non' . '<br />'; }           }    }    fclose($handle); }   $i+ c'est à dire si je mets directement le chemin du fichier dans le file_exists(); là le script affiche oui

Le truc bizarre, c'est que dans la première source $cheminFichier correspond exactement à ce que je mets dans la deuxième source dans le file_exists();

J'éspère avoir été clair, si je dois donner plus d'informations où de précisions, n'hésitez pas :]

Merci à tous

2

J'ai pensé à un problème d'encodage en fait, mais là je vois pas trop comment faire :/

3

D3pmod
: Le truc bizarre, c'est que dans la première source $cheminFichier correspond exactement à ce que je mets dans la deuxième source dans le file_exists();

On peut savoir comment tu les as comparés ? :]

4

Oui avec la source numéro 2, ça fonctionne comme je voudrais, seulement là, ça teste qu'un fichier (evidemment d'ailleurs)

5

Avec l'aide de nTOME, j'ai réussi à trouver smile

Fallait encore que j'applique un rtrim(); à la châine.

Encore merci wink

Edit : Par contre, si quelqu'un pourrait me dire comment supprimer les retour à la ligne, ça serait super sympa ^^

6

Hem ... normalement, rtrim() enlève également les retours à la ligne.
Sinon, essaie strtr().
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

7

Justement, le problème c'est que je vois pas trop comment les utiliser :/

Et puis rtrim() ne fonctionne pas pour enlever le retour à la ligne ^^

8

Oué me suis planté en fait, c'est bien rtrim() qu'il fallait utiliser ^^

Merci à Ethaniel et nTOME grin
  $i++; } ?>La source finale : <?php $path = '../games/cstrike/maps/'; $res = glob($path . '*.res'); $i = 0; while (isset($res[$i])) { echo $res[$i] . '<br />'; $handle = @fopen($res[$i], 'r'); if ($handle) {    while (!feof($handle)) {      $buffer = fgets($handle, 4096);       $buffer = utf8_encode($buffer);           if (preg_match("!^//!", $buffer) == FALSE AND rtrim($buffer))           {                $buffer = preg_replace('!\\!', '/', $buffer);                if ($buffer != '') {                     echo $buffer;                $cheminFichier = '../games/cstrike/' . $buffer;                                      $cheminFichier = rtrim($cheminFichier);                                                      if (file_exists($cheminFichier)) {                echo 'oui' . '<br />'; }                                else {                echo 'non' . '<br />'; }                   }           }    }    fclose($handle); }