PHP Formulaire. Afficher un mot d'un .txt

Fermé
bandido666 Messages postés 17 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 17 janvier 2010 - 7 nov. 2009 à 16:44
bandido666 Messages postés 17 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 17 janvier 2010 - 7 nov. 2009 à 17:46
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 !

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...
0
bandido666 Messages postés 17 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 17 janvier 2010
7 nov. 2009 à 17:46
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
0