Explication code php

Bonjour,

j'ai ce code la et je ne le comprend pas :

$fichier = "activites.txt";
$fp=fopen("", "r");
 if (!$fp=fopen($fichier, "r")) 
 {
             echo "Echec de l'ouverture du fichier";  
  } 


je ne comprends pas ca : $fp=fopen("", "r");
et ca : if (!$fp=fopen($fichier, "r"))

Merci de m'aider

8 réponses

  1. le truc c'est que pour ca
     !$fp=fopen($fichier, "r") 
    ,
    cette ligne est obligatoire :
     $fp=fopen("", "r"); 
    sinon $fp n'existe pas ...
    1. salut ..
      Je pense que la deuxième ligne ne joue aucun rôle
      le fichier n'est pas défini ??!! ...

      et ca !$fp=fopen($fichier, "r") = s'il y avait une erreur dans l'ouverture de fichier
      s'affiche : Echec de l'ouverture du fichier
      1. Bonjour,

        La ligne 2 de ce code ne sert à rien puisque reprise dans la condition if :
        $fichier = "activites.txt";
        $fp=fopen("", "r");
        if(!$fp=fopen($fichier, "r")) {
        	echo "Echec de l'ouverture du fichier";
        }


        On pourrait réécrire de cette manière :
        $fichier = "activites.txt";
        $fp=fopen($fichier, "r");
        if(!$fp) {
        	echo "Echec de l'ouverture du fichier";
        }


        Sachant que comme ceci on fait plus court pour arriver au résultat escompté, c'est-à-dire ouvrir le fichier activites.txt en lecture :
        $fichier = "activites.txt";
        if(!$fp=fopen($fichier, "r")) {
        	echo "Echec de l'ouverture du fichier";
        }

        @+
        1. déjà ça ne doit pas marcher, il faudrait corriger par :

          $fp = fopen($fichier, "r"); // Cela permet d'ouvrir un "flux" vers le fichier en mode read (r) donc en lecture seule

          ensuite on peut simplifier ton if par :

          if (!$fp) // Ici lors du fopen, si la fonction peut ouvrir le fichier elle mettre dans la variable un "lien" vers le "flux" du fichier, sinon elle renverra null.

          Si tu veux tu peux aussi aller faire un tour sur php.net

          Cordialement.
          1. Non mon code fonctionne mais je ne vois pas comment.

            Je ne vois pas où j'ai été désagréable, je te dis juste que le lien ne correspond pas à ma question.
            1. Contributeur
              Non mon code fonctionne
              Pourrais-tu être plus précis ?

              Par exemple nous dire :
              - Ce que le code est censé (ne pas) faire --> ?
              - Ce qu'il fait --> ?
            2. Bah si tu veux, lorsque le fichier n'existe pas il m'affiche bien l'erreur ou est bien affichédans le cas contraire.

              Je ne comprends pas l'utilité de ça :
              $fp=fopen("", "r");
              sans préciser le nom de fichier et de ça :
              !$fp=fopen($fichier, "r")
              en rapport avec l'instruction précédente.
          2. Peut être que le code que tu as "récupéré" est erroné...
            Puis c'est pas en étant désagréable que tu auras des réponses...
            1. Je ne vois pas où est l'explication concernant la fonction fopen lorsqu'on ne précise pas le nom du fichier en premier paramètre.

              Avant de poser cette question j'ai quand meme cherché ...