Problème file_exists

Résolu/Fermé
jpp78120 Messages postés 9 Date d'inscription mercredi 18 septembre 2013 Statut Membre Dernière intervention 3 mars 2015 - Modifié par jordane45 le 3/03/2015 à 18:35
jpp78120 Messages postés 9 Date d'inscription mercredi 18 septembre 2013 Statut Membre Dernière intervention 3 mars 2015 - 3 mars 2015 à 20:54
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

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
jpp78120 Messages postés 9 Date d'inscription mercredi 18 septembre 2013 Statut Membre Dernière intervention 3 mars 2015
3 mars 2015 à 18:57
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > jpp78120 Messages postés 9 Date d'inscription mercredi 18 septembre 2013 Statut Membre Dernière intervention 3 mars 2015
3 mars 2015 à 19:13
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
jpp78120 Messages postés 9 Date d'inscription mercredi 18 septembre 2013 Statut Membre Dernière intervention 3 mars 2015 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
3 mars 2015 à 20:54
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
jpp78120 Messages postés 9 Date d'inscription mercredi 18 septembre 2013 Statut Membre Dernière intervention 3 mars 2015
3 mars 2015 à 18:58
et Désolé si je n'ai pas mis de balise de codes.
0