Problème file_exists

Résolu
jpp78120 Messages postés 9 Statut Membre -  
jpp78120 Messages postés 9 Statut Membre -
J'ai 1 fichier .txt appelé "liste_rubriques.txt" qui contient 3 lignes :
rubrique 1.txt
rubrique 2.txt
rubrique 3.txt

J'ai 3 autres fichiers qui s'appellent :
rubrique 1.txt
rubrique 2.txt
rubrique 3.txt

Je lis la 1ère ligne du fichier "liste_rubriques.txt" :
$rubriques = "LISTE RUBRIQUES.txt";
$fic = file($rubriques);
$fichier = $fic[0];

j'affiche le nom :
echo $fichier;

ou
echo $fic[0];

Les 2 fonctionnent - pas de problème jusque là.

Par contre lorsque je veux vérifier si le fichier existe bien, le fichier est inconnu !
je le vérifie comme ça :
if (file_exists($fichier)) { 
    echo 'Le fichier '.$fichier.' existe.'; 
} else {
    echo 'Le fichier '.$fichier.' est inconnu.'; 
}

Quelqu'un peut-il me dire pourquoi le fichier n'est pas reconnu ?
idem si je remplace $fichier par $fic[0]

Je n'ai trouvé aucune réponse qui correspond à mon cas.
merci d'avance à tous.

EDIT : Ajout des balises de code
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

1 réponse

  1. Utilisateur anonyme
     
    Bonjour

    if (file_exists($fichier))

    Il ne manquerait pas un petit quelque chose, là ? Comme le nom du répertoire dans lequel se trouve ton fichier, par exemple ?
    0
    1. jpp78120 Messages postés 9 Statut Membre
       
      Tous les fichiers se trouvent au même endroit, dans le même répertoire.
      Si je remplace $fichier par le nom du fichier cela fonctionne !
      Donc je ne vois pas pourquoi il faudrait mettre le nom du répertoire
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jpp78120 Messages postés 9 Statut Membre
         
        Lorsque tu récupères le nom des fichiers dans ton fichier text.. n'y aurait-il pas des espaces en trop (devant et/ou après le nom du fichier ?

        Dans l'ideal.. ajoute un TRIM à ta variable...

        $file = trim($fichier);
        if (file_exists($file)) { 
            echo "Le fichier '$file' existe."; 
        } else {
            echo "Le fichier '$file' est inconnu."; 
        }
        
        0
      2. jpp78120 Messages postés 9 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Effectivement Jordane45, bien vu de ce côté !
        Quand je compte le nbre de caractères de la variable et en dur j'ai une différence de 1, la variable fait 1 de +.
        Je vais cogiter car je n'ai pas d'espace ni devant ni derrière, un retour de ligne p'tre invisible.
        Merci
        0
    2. jpp78120 Messages postés 9 Statut Membre
       
      et Désolé si je n'ai pas mis de balise de codes.
      0