Probleme pour les fichiers en php
Utilisateur anonyme
-
isma -
isma -
J'ai un ptit probleme en php:
a chaque fois que j'utilise une fonction de fichier (ex: fgets, feof,...), le script ne s'affiche pas (ca charge continuellement), et dans le log d'erreur d'Apache (2.0), ca me marque une erreur du type:
"PHP Warning: fgets(): supplied argument is not a valid stream resource in D:\\serveur\\test.php on line 8"
j'aimerais savoir comment y remedier...
Thanks
a chaque fois que j'utilise une fonction de fichier (ex: fgets, feof,...), le script ne s'affiche pas (ca charge continuellement), et dans le log d'erreur d'Apache (2.0), ca me marque une erreur du type:
"PHP Warning: fgets(): supplied argument is not a valid stream resource in D:\\serveur\\test.php on line 8"
j'aimerais savoir comment y remedier...
Thanks
4 réponses
-
la réponse vient un peu tard, mais si ça peut servir vu que la page est bien référencée :)
en fait ça vient souvent des droits d'accès des fichiers lus par la fonction fopen en mode 'r' (read). Donc il suffit très souvent de changer les droits d'accès du fichier à lire, clique droit/permission et autoriser aux autres d'avoir accès au dit-fichier (php, il fait partie des autres en gros) ou chmod 777 en console sous ubuntu -
Salut,
D:\\serveur\\test.php
Peut-être un antislash en trop dans l'adresse locale . Essaies:
D:\\serveur\test.php
Bonne chance :-)
Kilian, débutant en tâche de fond.....
-
Nan en fait ca c'est Apache qui me signal qu'il y a une erreur dans cette page, le script de test.php:
<? $fichier = 'test.txt'; $taille = filesize($fichier); $fp = fopen($fichier,'r'); while(!feof($fp)) { $ligne = fgets($fp,$taille); print $ligne.'<br>'; } fclose($fp); ?>
Ce code est censé afficher le contenu du fichier test.txt, mais apache genere des erreurs... :( -
Resalut,
Oui désolé :-)
Je me suis encore jamais servi du php pour manipuler des fichiers, mais par contre d'après ce que je lis là:
http://fr.php.net/fgets (fgets() retourne la chaîne lue jusqu'à la longueur length - 1 octet depuis le pointeur de fichier handle)
Il faudrait peut être essayer:
$ligne = fgets($fp,$taille-1)
Bon c'est juste une idée....
Kilian, débutant en tâche de fond.....