Code correcte ?

john_med Messages postés 17 Statut Membre -  
john_med Messages postés 17 Statut Membre -
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. hamzafes Messages postés 258 Statut Membre 54
     
    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
    0
    1. john_med Messages postés 17 Statut Membre
       
      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 ??
      .
      0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
    0
    1. john_med Messages postés 17 Statut Membre
       
      J'ai fait une boucle mon frere, mais file_get_contents() vx pas fonctioner,
      0
    2. john_med Messages postés 17 Statut Membre
       
      elle m'indique une erreur, avec invalid argument
      0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    $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 ?
    0
    1. john_med Messages postés 17 Statut Membre
       
      j'ai pas copier tous le code...!!!!
      0
    2. john_med Messages postés 17 Statut Membre
       
      <?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
      0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    <?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); 
    } 
    ?> 
    0
    1. john_med Messages postés 17 Statut Membre
       
      invalid argument dans cette ligne :/

      $annonce=file_get_contents($nom1)
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    essaies de mettre un echo pour voir:

    .....
    $nom1=str_replace(' ','',$nom); 
    echo "nom:".$nom1;
      //$annonce=file_get_contents($nom1); 
    $annonce=""; //provisoire
    ....
    
    
    0
    1. john_med Messages postés 17 Statut Membre
       
      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
      0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    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.
    0
    1. john_med Messages postés 17 Statut Membre
       
      base.usr, et echo $nom me donne les nom que j'ai dans mon fichier sans espaces
      0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    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); 
    } 
    ?> 
    0
    1. john_med Messages postés 17 Statut Membre
       
      bonjouùùr, bein il m'affiche innaccessible ou bien inéxistant alors, que dans mon repertoire www ces fichiers existent.....
      merci pour votre aide :)
      0