[PHP] Page blanche : erreur function lire un fichier ??

lhugo1
Invité n'ayant pas de compte PHPfrance

18 févr. 2009, 23:45

Bonjour,

J'ai un petit probleme, qui me tracasse depuis le début d'après-midi, donc je suis en train de modifier un script récupéré car il ne marchait pas. Et j'ai du faire une erreur quelque part mais je n'arrive pas à trouver ou.
Un petit peut d'aide ne serait pas de refus.
Si vous avez besoins de plus de précisions n'hésitez-pas!!!

Je m'explique: dans mon fichier lib.php j'ai

/*
Paramètre $fichier (variable) : URL locale + nom du fichier (ex: /home/site/www/fichier.jpg)
Paramètre $mode (variable, 'r' par défaut) : Mode d'écriture du fichier

Résultat : Lis le contenu d'un fichier et le renvoie
Format du résultat : chaine
*/
function lire_fichier($fichier, $mode = "r") {
$contenu_du_fichier = "";

// On initialise le fichier
$fp = fopen ($fichier, $mode);
if(!$fp) { return false; }

while (!feof($fp)) {
$contenu_du_fichier .= fgets($fp, 4096);
}

// On ferme le fichier
fclose ($fp);

if($contenu_du_fichier) { return $contenu_du_fichier; }
else { return false; }
}

Est-ce correcte ? Y'a t'il une erreur ? une chose illogique??

Dans mon autre fichier j'ai

require("lib.php");

// On lit le compteur d'appels
$nombre_appels_manquants = lire_fichier("datas/compteur");

- D'ou le probleme viens-t-il ?

- Serait-ce un probleme au niveau de Paramètre $fichier (variable) : URL locale + nom du fichier (ex: /home/site/www/fichier.jpg) ?

J'avoue que j'ai un peu du mal à comprendre...

Merci d'avance pour votre aide

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

19 févr. 2009, 11:29

Modération :
lhugo1, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ


Par ailleurs, il faudrait nous dire quel est le problème, as-tu un message d'erreur ? que fait ton script (quel est le résultat obtenu) ? qu'est-il sensé faire (quel est le résultat attendu) ? ...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 70 Messages

19 févr. 2009, 13:05

lire_fichier("datas/compteur"); 
C'est juste un exemple?
Parce que là tu ne lis pas de fichier mais un dossier (as-tu peut-être oublier l'extension), donc return false.
Pourquoi tu ne fais pas un test pour savoir si il retourne false ou pas.
if(!$nombre_appels_manquants = lire_fichier("datas/compteur"))
{
     echo "Echec de la lecture";
}