[Résolu] Afficher le contenu d'un .txt

Eléphanteau du PHP | 14 Messages

13 mars 2006, 00:02

Bonjour à tous, voilà je suis perplexe face à un code tout simple qui devrait marcher, car il s'agit tout simplement de lire et d'affciher dans une variable le contenu d'un fichier .txt :
<?php
$text = file_get_contents("/admin/text_index.txt");
echo $text;
?>
Pourriez vous me dire où ça cloche ? Parce que là moi je vois pas.... :(
Modifié en dernier par eirwan le 14 mars 2006, 18:01, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 mars 2006, 00:35

Salut,
D'après la fameuse boule de cristal de PHPFrance je dirais que... c'est payant pour la suite :lol:

Et serieusement qu'est qui te faire croire que cela ne fonctionne pas ?
Un message d'erreur peut être ?
Il serait intéressant de le voir dans ce cas.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 14 Messages

13 mars 2006, 13:45

Tout simplement le fait que rien ne s'affiche, même pas de message d'erreur...
Je donne l'url où j'ai placé le code, c'est un site en construction :
http://toprod.multimania.com
Donc voilà normalement sur le serveur j'ai des fichiers txt placés dans un dossier protégé et donc comme ça en modifiant les txt je modifie le texte de la page, ça sert parce que je ne suis pas le seul à faire les textes, donc pour les autres qui ont pas les logiciels...
Mais le problème, c'est que la page n'affiche pas le txt qu'elle devrait afficher...

Mammouth du PHP | 768 Messages

13 mars 2006, 14:09

essaye ça

<?php
$fichier = '/admin/text_index.txt';

if ( (file exists($fichier)) && (is_readable($fichier)) ){ 
   $text = file_get_contents($fichier); 
   echo $text; 
}
else
{
   echo 'Le fichier '.$fichier.' n\'existe pas ou n\'est pas disponible en ouverture';
}
?> 
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphanteau du PHP | 14 Messages

13 mars 2006, 23:04

il y a un problème sur la ligne du if... ça me met un parse error...
Donc le code donne ça plutôt :
<?php 
$fichier = '/admin/text_index.txt'; 

if ( (file_exists($fichier)) && (is_readable($fichier)) ){ 
   $text = file_get_contents($fichier); 
   echo $text; 
} 
else 
{ 
   echo 'Le fichier '.$fichier.' n\'existe pas ou n\'est pas disponible en ouverture'; 
} 
?> 
Faut juste mettre un underscore entre file et exists.
Ben merci au moins maintenant je sais que mon fichier n'est pas accessible, parce que pourtant il est bien à sa place. Bizarre ! Peut être une protection spécifique au dossier /admin ?

Eléphanteau du PHP | 14 Messages

13 mars 2006, 23:17

En fait ça marche si je place le fichier dans le même dossier que la page. comment faire pour le placer dans un autre dossier ?

Eléphant du PHP | 417 Messages

13 mars 2006, 23:56

---
Modifié en dernier par JazzFinder le 28 juin 2006, 16:27, modifié 1 fois.

Invité
Invité n'ayant pas de compte PHPfrance

14 mars 2006, 13:55

La page sur laquelle est placé le script est sur le dossier principal, et le txt dans un dossier au niveau en dessous, nommé admin...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 mars 2006, 14:03

C'est ton "/admin" qui n'est pas bon... php ne regarde pas les chemins par rapport à l'url, mais par rapport l'arborescence de la machine. En gros, c'est un peu comme si tu lui disait d'aller voir dans C:\admin

Enlève le premier slash ou utilise "./" pour partir du dossier dans lequel tu exécute le script et déplaces toi dans les dossiers à partir de là (../ pour remonter) pour indiquer l'emplacement de ton fichier.

Tu peux malgré tout utiliser le chemin absolu, mais il te faut savoir l'emplacement exact de ton fichier par rapport à la racine de ton serveur, ce qui ne semble pas être le cas :)

Invité
Invité n'ayant pas de compte PHPfrance

14 mars 2006, 17:19

Merci beaucoup, maintenant ça marche ! Ca fait plaisir de voir une communauté prête à aider comme ça... Je vous invite à passer sur mon site dès qu'il sera fini !