Probleme pour les fichiers en php

Utilisateur anonyme -  
 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

4 réponses

  1. isma
     
    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
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    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
  3. Utilisateur anonyme
     
    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
  4. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    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