Lire les X premiers caractères - PHP

Fermé
Utilisateur anonyme - 26 sept. 2008 à 19:15
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 26 sept. 2008 à 21:54
Bonjour,
je voudrais savoir comment faire pour afficher les X premiers caractères d'un fichiers en respectant les retours a la ligne.
Pour afficher les X premiers caractères, j'ai fais sa :

<?php
$nbr = 1000;
$file = "fichier.txt"
$fichier = fopen($file,"r");
$lire = fread($fichier, $nbr);

echo $lire
?>


merci d'avance pour votre aide.

A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 sept. 2008 à 20:57
Bonsoir,

essayes comme ça:

<?php

$nbr = 1000;
$file = "fichier.txt";
$cpt=0;
if (!($f=fopen($file,"r")))
exit("Impossible d'ouvrir le fichier: ".$file);
while ($cpt<=$nbr)
{
$texte=fgetc($f);
echo $texte;
$cpt++;
}
fclose($f);
?> 


je pense que ça va préserver les fins de ligne ???
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 sept. 2008 à 21:03
Une autre solution:

   
<?php
  $nbr = 1000;
$file = "fichier.txt";

  $fp = fopen ($file, "r");  
   
  $contenu_du_fichier = fgets ($fp, $nbr);  

   fclose ($fp);  
 
   echo $nbr." premiers caracteres du fichier : ".$contenu_du_fichier;  

?>
 
0
Utilisateur anonyme
26 sept. 2008 à 21:22
sa ne marche pas :s
il n'y a toujours aucun retour a la ligne
merci quand même
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 sept. 2008 à 21:54
Et comme ça:

<?php
	$nbr = 1000;
	$file = "fichier.txt";
	$array_file = file ($file);  //lit le fichier et le met dans un array ligne par ligne
	$cpt=0;
	$fin=false;
	for($i=0;$i<sizeof($array_file);$i++){
		
		if($cpt + strlen($array_file[$i] < $nbr){
			echo $array_file[$i]."<br />";
		}
		if($cpt + strlen($array_file[$i] >= $nbr && $fin == false){
			$fin=true;
			$nbr_car_derniere_ligne=$nbr-$cpt;
			echo substr($array_file[$i],0,$nbr_car_derniere_ligne);
			exit();
		}
		
		$cpt+=strlen($array_file[$i]);
	}
?>
0