Code correcte ?

Fermé
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013 - Modifié par 00lina00 le 30/03/2013 à 12:05
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013 - 30 mars 2013 à 12:04
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
A voir également:

7 réponses

hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
29 mars 2013 à 11:20
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
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
29 mars 2013 à 13:52
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 mars 2013 à 17:57
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
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
29 mars 2013 à 18:11
J'ai fait une boucle mon frere, mais file_get_contents() vx pas fonctioner,
0
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
29 mars 2013 à 18:12
elle m'indique une erreur, avec invalid argument
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 mars 2013 à 18:15
$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
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
29 mars 2013 à 18:16
j'ai pas copier tous le code...!!!!
0
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
Modifié par john_med le 29/03/2013 à 18:29
<?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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 29/03/2013 à 18:49
<?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
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
29 mars 2013 à 20:02
invalid argument dans cette ligne :/

$annonce=file_get_contents($nom1)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 mars 2013 à 20:21
essaies de mettre un echo pour voir:

.....
$nom1=str_replace(' ','',$nom); 
echo "nom:".$nom1;
  //$annonce=file_get_contents($nom1); 
$annonce=""; //provisoire
....

0
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
29 mars 2013 à 21:06
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 29/03/2013 à 22:55
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
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
30 mars 2013 à 00:15
base.usr, et echo $nom me donne les nom que j'ai dans mon fichier sans espaces
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
30 mars 2013 à 08:35
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
john_med Messages postés 16 Date d'inscription jeudi 28 mars 2013 Statut Membre Dernière intervention 30 mars 2013
30 mars 2013 à 12:04
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