Question sur la gestion des fichiers

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Question sur la gestion des fichiers

par zigz4g » 03 sept. 2006, 10:31

Regarde du côté des regexps.
http://fr.php.net/manual/fr/function.ereg-replace.php
ou plus simplement :
http://fr.php.net/manual/fr/function.str-replace.php.
Dans les deux cas faut regarder la doc pour savoir lequel est le plus rentable.

par guillaume40 » 03 sept. 2006, 08:06

J'ai réussi mais par contre comment on peut faire pour enlever les espaces ?

par finipe » 03 sept. 2006, 05:07

Bonjour !

Question subsidiaire à celle-ci : si au lieu de file() on utilie fgets($fichier,4096) doit-on également utiliser rtrim dans ce cas ?

par Shrell » 02 sept. 2006, 12:26

non, regarde le code source de ta page : le retour à la ligne est toujours la :wink:

par guillaume40 » 01 sept. 2006, 23:26

sa ne marche pas mais sa a supprimer le retour a la ligne

par Shrell » 01 sept. 2006, 23:05

Note : Chaque élément du tableau résultat contiendra la nouvelle ligne de fin de chaîne. Il faudra donc utiliser rtrim() sur cette valeur pour la supprimer.
regarde ton code source :

Code : Tout sélectionner

<input type="text" name="reponse" value="Le ping pong ">
tu n'as pas utilisé rtrim(), tu as donc un retour chariot, donc une erreur

par guillaume40 » 01 sept. 2006, 22:56

maintenant sa marche tout bien sauf un truc
http://desbieys.guillaume.free.fr/quizz/index.php
Cliquer juste sur valider ( la réponse est dans le champ du formulaire)
Et sa dit mauvaise réponse alors que c'est pareil
____
<?php
session_start();
if(empty($_GET['id']))
{
   if(empty($_SESSION['point']))
   {
     $_SESSION['point'] = 0;
   }

$fichier = file('database.txt');
$ligne_total =  count($fichier);
$ligne_tire = rand(1, $ligne_total);
$ligne_a = $fichier[$ligne_tire];
$reponse = explode(" \ ", $ligne_a);
echo 'Vos point(s) : ' . $_SESSION['point'] . '<HR>';
echo 'Questions : ' . $reponse[0] . '<br />';
echo 'Réponse : ' . $reponse[1] . '<br />';
echo '<form action="index.php?id=1" method="POST">
      <input type="text" name="reponse" value="'.$reponse[1].'">
      <input type="submit" value="Verifier">
      </form>';
$_SESSION['solution'] = $reponse[1];
}
if($_GET['id'] == 1 )
{
   $reponse2 = $_SESSION['solution'];
   $reponse = $_POST['reponse'];
   if($reponse == $reponse2)
   {
     echo 'Bravo vous venez de gagner 1 point ! <br /><HR>';
     $_SESSION['point']++;
     echo '<a href="index.php">Rejouer</a>';
   }
   if($reponse != $reponse2)
   {
      echo 'Mauvaise réponse ! <br />';
      echo 'La réponse était ' . $reponse2 . '<br /><HR>';
      echo '<a href="index.php">Rejouer</a>';

   }
}
?>

par zigz4g » 01 sept. 2006, 18:34

Salut.
<?php
$tab_fichier = file('mon_fichier.txt');
echo 'Le nombre de ligne est de : ', count($tab_fichier), '<br />';
?>

par guillaume40 » 01 sept. 2006, 18:05

LOL merci
En plus je l'avai vu sa sur php.net et j'avai vu que sa afficher les lignes avec le foreach mais j'avai carrément zapper
Merci beacoup
mais pour savoir combien ya de ligne au total comment on fait ?

par Shrell » 01 sept. 2006, 13:17

file() est ton ami ;) :
array file ( string filename [, int use_include_path [, resource context]] )

file() est identique à file_get_contents(), hormis le fait que file() retourne le fichier filename dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retour-chariots sont placés en fin de ligne.

Note : Chaque élément du tableau résultat contiendra la nouvelle ligne de fin de chaîne. Il faudra donc utiliser rtrim() sur cette valeur pour la supprimer.

Question sur la gestion des fichiers

par guillaume40 » 01 sept. 2006, 12:35

BOnjour,
est-ce possible de lire dans un fichier texte ligne pa ligne ou on choisit la ligne a visualiser et méme savoir le nombre de ligne total pour pouvoir faire un rand() si c'est possible comment merci