PHP Formulaire. Afficher un mot d'un .txt
bandido666
Messages postés
23
Statut
Membre
-
bandido666 Messages postés 23 Statut Membre -
bandido666 Messages postés 23 Statut Membre -
Bonjour,
Je voudrais faire un formulaire pour récuperer le numéro de ligne et d'élément d'un texte. C'est à dire, j'ai un .txt et un formulaire HTML avec 2 champs. Donc si l'utilisateur tape 3 dans le premier et 5 dans le deuxième champ, mon PHP doit m'afficher le troisième mot de la cinquième ligne du texte.
Je sais qu'il me faut utiliser file() et peut-être explode mais je ne sais pas si je dois faire une boucle ou une condition, enfin, j'ai essayé plusieurs choses et ça ne marche pas.
Aidez-moi s'il vous plaît ! Pour un expert ça doit être très basic mais pour moi c'est trop dur !
Au-secours !
Je voudrais faire un formulaire pour récuperer le numéro de ligne et d'élément d'un texte. C'est à dire, j'ai un .txt et un formulaire HTML avec 2 champs. Donc si l'utilisateur tape 3 dans le premier et 5 dans le deuxième champ, mon PHP doit m'afficher le troisième mot de la cinquième ligne du texte.
Je sais qu'il me faut utiliser file() et peut-être explode mais je ne sais pas si je dois faire une boucle ou une condition, enfin, j'ai essayé plusieurs choses et ça ne marche pas.
Aidez-moi s'il vous plaît ! Pour un expert ça doit être très basic mais pour moi c'est trop dur !
Au-secours !
Configuration: Windows Vista Firefox 3.5.4
2 réponses
-
Fonction ( à placer entre les balises <HEAD></HEAD> ) :
<?php function AfficherLigne($Ligne) { // Fichier souhaité $Cible = "lefichier.txt"; // Ouverture du fichier $Fichier = @fopen($Cible, "r" ); // Si le fichier existe et a pu être ouvert if ($Fichier) { // Tant que $Actuelle n'équivaut pas à $Ligne, // on boucle en incrémentant $Actuelle de 1 for ($Actuelle=1; $Actuelle <= $Ligne; $Actuelle++) { // Attribution de la ligne en cours à $Temporaire // Tant que la limite définie ou la fin du fichier n'a pas été // atteinte, la boucle est relancée et $Contenu mis à jour $Temporaire = fgets($Fichier); if (empty($Temporaire)) { break; } else { $Contenu = $Temporaire; } } } // Sinon si le fichier n'existe pas ou n'a pas pu être ouvert else { // Attribution d'un message d'erreur à $Contenu $Contenu = "Erreur d'ouverture de <em>$Cible</em>"; } // Fermeture du fichier @fclose($Fichier); // Affichage de $Contenu print $Contenu; } ?>
Source: http://www.infos-du-net.com/forum/206543-21-lire-deuxieme-ligne-fichier-text
Voilà ca c'était pour la ligne... Maintenant il faut chercher le mot dedans...
Petite source pour explode... Je pense que c'était un bon début.
<?php
// Exemple 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
?>
Je pense qu'il faudrait faire
$mots = explode(" ", $contenu);
echo $mots[$valeur]; // valeur entrée pour le x ème mot
Et hop je pense que ca devrait marcher... -
Merci pour ta réponse !
J'avais trouvé ces examples mais je n'aivais trop compris, je suis débutant. Je viens de le faire et ça ne marche pas... ça ne fait pas appel à mon formulaire HTML.
Des idées ?
Merci