Lire ce qu'on écrit

matlamis Messages postés 19 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

Aide moi, comment faire pour avoir la solution ici
voir script php

<?php

$mots = array("a", "b", "c", "d");

$Ind = count($mots);

$fhmot= fopen("fichier.txt", 'w');

$i=0;
while($i<$Ind)
{
$varmot = $mots[$i];
fwrite($fhmot, $varmot );
$i++;
}

fclose($fhmot);

//comment faire un echo du $fhmot sans aller lire le fichier ?

//donc non

$contenu ="fichier.txt";
echo file_get_contents($contenu);

?>

7 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    pour pouvoir afficher le contenu d'un fichier il faut bien le lire, c'est comme si tu lisait un livre sans l'ouvrir et dans le noir.

    mais avec la fonction file tu peux faire:

    $nom_fichier ="fichier.txt";
    $array_contenu_fichier=file($nom_fichier);
    
    for($i=0;$i<sizeof($array_contenu_fichier){
       echo $array_contenu_fichier[$i];'<br />';
    }
    
    0
  2. augustin45 Messages postés 154 Statut Membre 31
     
    je te retourne la question:
    comment lire un fichier sans l'ouvrir?
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    j'y ai déjà répondu à mon humble avis tu ne peux pas
    0
  4. matlamis Messages postés 19 Statut Membre 2
     
    moi j"ai besoin du flux sur la ligne
    fwrite($fhmot, $varmot );

    donc le flux de $fhmot.

    pour faire une cache equivalent du fichier
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. matlamis Messages postés 19 Statut Membre 2
     
    salut

    Donc pour vous $fhmot est une variable fini !!!
    qu"on peux rien faire!!!

    merci
    0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    moi j"ai besoin du flux sur la ligne
    fwrite($fhmot, $varmot );

    donc le flux de $fhmot.

    pour faire une cache equivalent du fichier


    fopen revoie une ressource pointeur fichier dans ta variable $fhmot
    voir site: https://www.php.net/manual/fr/function.fopen.php

    si tu fais le test:
    <?php
    
    $mots = array("a", "b", "c", "d");
    
    $Ind = count($mots);
    
    
    $fhmot= fopen("fichier.txt", 'w');
    
    $i=0;
    while($i<$Ind)
    {
    echo "pointeur fichier: ".$fhmot."<br />";
    $varmot = $mots[$i];
    fwrite($fhmot, $varmot );
    $i++;
    }
    
    fclose($fhmot);
    
    ?>


    tu vas avoir: (exemple)

    pointeur fichier: Resource id #3
    pointeur fichier: Resource id #3
    pointeur fichier: Resource id #3
    pointeur fichier: Resource id #3


    donc tu vois bien qu'il n'y a pas de flux dans cette variable c'est le "canal" vers le fichier.

    si tu veux "suivre" ce qui est écrit dans le fichier ligne par ligne tu peux faire:
    <?php
    
    $mots = array("a", "b", "c", "d");
    
    $Ind = count($mots);
    
    
    $fhmot= fopen("fichier.txt", 'w');
    
    $i=0;
    while($i<$Ind)
    {
    
    $varmot = $mots[$i];
    if(fwrite($fhmot, $varmot )){ //si l'écriture a été effective
    	echo "j'ai écrit ligne ".($i+1)." : ".$varmot."<br />";
    }
    
    $i++;
    }
    
    fclose($fhmot);
    
    ?>
    0
    1. matlamis Messages postés 19 Statut Membre 2
       
      alors pas de solution
      on ne peux pas le faire
      il ya rien comme flux.
      c'est un canal vers le fichier
      merci
      0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    je ne sais pas ce que tu entends par flux, mais ce que je t'ai proposé est bien une solution pour "suivre" ce que tu ecrit effectivement dans le fichier ligne par ligne
    0