Lire les X premiers caractères - PHP

Utilisateur anonyme -  
Alain_42 Messages postés 5413 Statut Membre -
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.

--
http://JuZa.e3b.org |||
français :Feignant ? Moi ? Jamais !!
anglais : Lazy ? Me ? Never !!
geek : F31gn4n7 ¿ M01 ¿ J4m415 ¡¡

désoler, mais mes connaissance en langues étrangères sont assez limités :p
Configuration: Windows XP
Firefox 3.0.2

3 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  3. Utilisateur anonyme
     
    sa ne marche pas :s
    il n'y a toujours aucun retour a la ligne
    merci quand même
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      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