fgets() : afficher plusieurs lignes

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 : fgets() : afficher plusieurs lignes

par Hubert Roksor » 18 avr. 2007, 20:05

Ça doit ressembler à ça, sauf erreur
<?php

// rt = lecture, mode Windows activé si disponible
$fp = fopen('inc/config.inc.php', 'rt');

// numéro de ligne
$i = 0;

while (!feof($fp))
{
	$ligne = fgets($fp);

	// on incrémente le numéro de ligne à chaque itération
	// $i est la variable standard pour les compteurs d'itérations
	++$i;

	if ($i >= 8 && $i <= 11)
	{
		// ce serait dommage que la ligne contienne du HTML alors on utilise htmlspecialchars()
		// notez l'utilisation de virgules pour echo (multiples arguments), plus efficaces qu'une
		// concaténation
		echo '<p></p><textarea name="affichage_var">', htmlspecialchars($ligne), '</textarea>';
	}
	elseif ($i > 11)
	{
		// on sort de la boucle
		break;
	}
}
fclose($fp);

fgets() : afficher plusieurs lignes

par Scurz » 18 avr. 2007, 19:37

Hello,

Donc, voici la partie du code d'un fichier :
$fopen_config_inc = fopen("inc/config.inc.php", "r+"); // Ouverture du fichier en lecture seule.

echo $ligne1 = fgets($fopen_config_inc);

echo '<p></p><textarea name="affichage_var">'.$ligne1.'</textarea>'; // Affichage du contenu du fichier.

fclose($fopen_config_inc); // Fermeture du fichier.
Mon code fonctionne très bien. Là, il ne m'affiche que la première ligne du fichier (logique avec fgets), donc si je souhaite afficher plusieurs lignes, je dois faire une boucle, on est accord sur ce point. En faites, j'ai mon fichier inc/config.inc.php, je souhaite n'afficher que les lignes 8, 9, 10, 11 mais pas le début du fichier, comment faire ?

Merci à tous,