Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 23-12-2007 17:03:48

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 19

Lire un fichier

Bonjour, j ai vu des explications sur comment lire un fichier present sur le ftp mais je voudrais aller plus loin
voici un exemple de contenu d un fichier nomme fichier.txt

Code:

PHP: blabla
HTML: blabla
XHTML: blabla
CSS: blabla
PHP: blabla
PHP: blabla
XHTML: blabla

Je voudrais donc creer une page avec une input box par methode post et ensuite ca ira rechercher tout ce qui est entre dans la input box.
Si on entre et valide PHP alors cela devra retourner toutes les phrases commencant par PHP
mais je n ai rien vu de tel ou alors je n ai rien compris quanb j ai regarde les fonction fopen() et fgets()

Merci !)

Hors ligne

 

#2 24-12-2007 05:20:20

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 428
Site web

Re: Lire un fichier

fopen te permet "just" d'aller ouvrir un fichier.
fgets te permet d'aller lire une ligne dans un fichier ouvert.

il faut que tu fasses un formulaire pour poster le type de données que tu veux lire (pour donner l'info à PHP) puis ensuite, c'est ensuite à toi de faire un traitement sur ce que te renvoie fgets (faire une boucle sur les lignes du fichier) pour savoir si tu veux afficher la ligne ou pas.

Hors ligne

 

#3 24-12-2007 05:21:53

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 19

Re: Lire un fichier

tu aurais un exemple a me donner parce que je patauge -_-
et je ne suis pas encore arrive a l apprentissage des boucles ^^ un exemple m aiderais beaucoup et a comprendre surtout

Dernière modification par Lereyn (24-12-2007 05:29:24)

Hors ligne

 

#4 24-12-2007 22:15:46

saleh
Modérateur global
Lieu: Oran - Algérie
Date d'inscription: 13-07-2005
Messages: 137

Re: Lire un fichier

Je ne crois pas que ce soit possible de filtrer des données présent dans un fichier .txt avec ces fonctions.
Pourquoi ne pas utiliser une base de données plutôt ?

Liens :
Fopen : http://fr.php.net/fopen
Fgets : http://fr.php.net/fgets

Saleh.

Hors ligne

 

#5 25-12-2007 14:16:37

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 19

Re: Lire un fichier

saleh a écrit:

Je ne crois pas que ce soit possible de filtrer des données présent dans un fichier .txt avec ces fonctions.
Pourquoi ne pas utiliser une base de données plutôt ?

Liens :
Fopen : http://fr.php.net/fopen
Fgets : http://fr.php.net/fgets

Saleh.

Pourtant si smile
j y suis arrive smile
Merci quand meme

Hors ligne

 

#6 25-12-2007 17:18:11

saleh
Modérateur global
Lieu: Oran - Algérie
Date d'inscription: 13-07-2005
Messages: 137

Re: Lire un fichier

Tant mieux, peux-tu conclure ce sujet par la solution par exemple ?
Merci.

Hors ligne

 

#7 25-12-2007 17:21:55

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 19

Re: Lire un fichier

Voila, fallait demander smile
pour le code ci dessous, les pseudos n ont pas de caracteres accentues donc voila pourquoi
le htmlentities()

Code:

<?php
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
echo "<head>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
echo "<link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\">";
echo "<title>Un Titre</title>";
echo "</head><body><p>";
if (isset($_POST['pseudo']))
{
$nom = trim(stripslashes(htmlentities($_POST['pseudo'])));
    if (empty($nom))
    {
      echo "<fieldset>";
      echo "<legend>Nom de legende</legend>";
      echo "<p><div align=\"center\">";
      echo "<br /><br />Pseudo Invalide!";
      echo "</div></fieldset>";
      echo "</table><br /><br /><div align=\"left\"><a href=\"admin.php\">Retour a l administration</a><br />";
      echo "<a href=\"monfichier.php\">Retour</a></div></p>";
      exit();
    }
$lecture = @fopen("lelog.log", "r");

  if ($lecture) {
    while (!feof($lecture)) {
        $buffer = fgets($lecture, 4096);
        if(ereg($nom,$buffer))
        {
          echo "".$buffer."<br />";
        }
    }
    fclose($lecture);
  }
exit();
}
else
{
echo "<fieldset>";
echo "<legend>Nom de legende</legend>";
echo "<p><div align=\"center\"><form name=\"chat\" action=\"\" method=\"post\"><table>";
echo "<td><tr><p><label><b>Pseudo:&nbsp;</b><input type=\"text\" name=\"pseudo\" /></label></p><br />";
echo "<input name=\"soumettre\" type=\"submit\" value=\"Envoyer\" />&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"reset\" value=\"Effacer\" /></td></tr></form></fieldset></p>";
echo "</table><br /><br /><p><div align=\"left\"><a href=\"admin.php\">Retour a l administration</a></p>";
}
echo "</p><p>&nbsp;</p></body></html>";
?>

et le style.css

Code:

fieldset
{
border: 1px solid #781351;
width: 20em;
height: 9.5em
}

legend
{
color: #fff;
background: #ffa20c;
border: 1px solid #781351;
padding: 2px 6px
}

Dernière modification par Lereyn (25-12-2007 17:37:23)

Hors ligne