Code correcte ?

bonsoir tous le monde, j'ai besoin d'aide, est ce que ce code est correcte du coté syntaxe et si ce que j'ai fait c'est fusable( genre je veux récuperer a partir d'un fichier(baseuser.txt) un login et ouvrir un fichier(que j'ai creer précedemment) qui porter ce nom et récuperer son contenu.....:

$fh=fopen(baseuser.".txt","r+");
$nom=fgets($fh);
$fp=fopen($nom,"r+"); // c'est ici que j'obtient le message d'errreur invalid argument
$annonce=file_get_contents("$nom1"); // et encore ici invalid argument

7 réponses

  1. Salam,

    1- c'est "baseuser.txt" et pas baseuser.".txt"
    2- puis file_get_content($nom)
    3- ensuite pourquoi faire fopen($nom, "r+") si tu veux utiliser file_get_content ?
    4- finalement votre description de l'objectif de ce script n'est pas claire

    Hamza
    1. ecoute j'ai un mini site d'annonce grauite, j'ai enregestré les login de mes utulisateur dans un fichier, baseuser.txt, et leur annonce dans un fichier qui porte le nom de login..
      alors pour que j'affiche chaque utulisateur et son annonce, j'ai proceder par récupération du son nom a partir du fichier baseuser et a partiiir du nom j'utulise file_get_contents pour recuperer l'annonce....
      avez vs un script a me proposer ??
      .
  2. fgets va lire la ligne courante du fichier, je suppose que dans ce fichier il y a plusieurs login donc plusieurs lignes, alors il faut faire une boucle

    vas voir cette fonction ici: https://www.php.net/manual/fr/function.fgets.php
    1. J'ai fait une boucle mon frere, mais file_get_contents() vx pas fonctioner,
    2. elle m'indique une erreur, avec invalid argument
  3. $fh=fopen(baseuser.".txt","r+");
    $nom=fgets($fh);
    $fp=fopen($nom,"r+"); // c'est ici que j'obtient le message d'errreur invalid argument
    $annonce=file_get_contents("$nom1"); // et encore ici invalid argument


    où est la boucle ?
    1. j'ai pas copier tous le code...!!!!
    2. <?php
      $nbr_usr= 0;
      $fh=fopen("base.usr",'r+');
      $tab=file("base.usr");
      $nbr_usr=count($tab);
      ?>
      </p>

      ************************************************HTML*********************************************
      <p align="center" class="Style9"><span class="Style14">~0~</span> LISTES DES ANNONCES ENREGESTREES: <span class="Style14">~0~</span></p>
      <p align="center" class="Style9"> </p>
      <p align="center"> </p>
      <div align="center">
      <table width="943" height="90" border="2">
      <tr>
      <td width="466"><div align="center" class="Style6">UTULISATEURS</div></td>
      <td width="459"><div align="center" class="Style6">ANNONCES</div></td>
      </tr>
      ****************************************************************************************************
      <?php

      for ($i=0 ; $i<$nbr_usr ; $i++)
      {

      $nom=fgets($fh);
      $nom1=str_replace(' ','',$nom);
      $annonce=file_get_contents($nom);
      ?>
      **********************************************************************************************
      <tr>
      <td class="Style1"><h1><?php echo $nom; ?></h1></td>
      <td> <h2><?php echo $annonce; ?></h2></td>
      </tr>
      **********************************************************************************************
      <?php
      }
      fclose($fh);
      ?>

      voila le code en entier
  4. <?php 
    /* 
    a supprimer avec la methode ci dessous pas besoin 
    $nbr_usr= 0; 
    $fh=fopen("base.usr",'r+'); 
    $tab=file("base.usr"); 
    $nbr_usr=count($tab); 
    */ 
    ?> 
    </p> 
    
    
    
    ************************************************HTML********************************************* 
    <p align="center" class="Style9"><span class="Style14">~0~</span> LISTES DES ANNONCES ENREGESTREES: <span class="Style14">~0~</span></p> 
    <p align="center" class="Style9"> </p> 
    <p align="center"> </p> 
    <div align="center"> 
    <table width="943" height="90" border="2"> 
    <tr> 
    <td width="466"><div align="center" class="Style6">UTULISATEURS</div></td> 
    <td width="459"><div align="center" class="Style6">ANNONCES</div></td> 
    </tr> 
    **************************************************************************************************** 
    <?php 
    $fh=fopen("base.usr",'r'); 
    if ($fh) { 
        while (($nom = fgets($fh, 4096)) !== false) { 
            $nom1=str_replace(' ','',$nom); 
      $annonce=file_get_contents($nom1); //la tu avait mis $nom au lieu de $nom1 
      //et ton fichier qui contient l'annonce il n'a pas d'extension ?? 
      // genre $nom1.".txt" 
      //nota h1  h2 c'est plutôt pour des titres 
    
    ?> 
      ********************************************************************************************** 
      <tr> 
      <td class="Style1"><h1><?php echo $nom; ?></h1></td> 
      <td> <h2><?php echo $annonce; ?></h2></td> 
      </tr> 
      ********************************************************************************************** 
    <?php 
     } 
        if (!feof($fh)) { 
            echo "Erreur: fgets() a échoué\n"; 
        } 
        fclose($fh); 
    } 
    ?> 
    1. invalid argument dans cette ligne :/

      $annonce=file_get_contents($nom1)
  5. essaies de mettre un echo pour voir:

    .....
    $nom1=str_replace(' ','',$nom); 
    echo "nom:".$nom1;
      //$annonce=file_get_contents($nom1); 
    $annonce=""; //provisoire
    ....
    
    
    1. ecoute si je prend un nom de baseusr et j fait sa manuelement ca marche trés bien:
      exemple;
      j'ai fait sa:
      $annonce=file_get_contents("alain.txt"):
      echo $annonce;

      sa marche tré bien, mais quand je fait sa automatiquement sa marche pas
  6. justement mets l'echo comme je t'ai dit de faire, pour voir ce que sort filegets dans la variable $nom1
    et ton fichier, réellement, il se nomme comment ?
    baseusr
    baseusr.txt
    base.usr

    parce que tu as donné des noms différents lors de la discution.
    1. base.usr, et echo $nom me donne les nom que j'ai dans mon fichier sans espaces
  7. est ce que chacun de ces noms correspond à un fichier ? (avec leur extension)

    essaies comme ça pour voir:
    <?php 
    $fh=fopen("base.usr",'r'); 
    if ($fh) { 
        while (($nom = fgets($fh, 4096)) !== false) { 
            $nom1=str_replace(' ','',$nom); 
    		if(is_readable($nom1){
    			$annonce=file_get_contents($nom1); 
    		}else{
    		
    			echo "le fichier <b>$nom1</b> n'est pas accessible ou n'existe pas !<br />";
    		}
    ?> 
      ********************************************************************************************** 
      <tr> 
      <td class="Style1"><h1><?php echo $nom; ?></h1></td> 
      <td> <h2><?php echo $annonce; ?></h2></td> 
      </tr> 
      ********************************************************************************************** 
    <?php 
     } 
        if (!feof($fh)) { 
            echo "Erreur: fgets() a échoué\n"; 
        } 
        fclose($fh); 
    } 
    ?> 
    1. bonjouùùr, bein il m'affiche innaccessible ou bien inéxistant alors, que dans mon repertoire www ces fichiers existent.....
      merci pour votre aide :)