Probleme pour les fichiers en php

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

4 réponses

  1. 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
    1
    1. Modérateur
      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.....
      0
      1. 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... :(
        0
        1. Modérateur
          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.....
          0