problème de récupération de texte avec une fonction

problème de récupération de texte avec une fonction - PHP - Programmation

Marsh Posté le 17-08-2022 à 21:42:20    

Bonjour, voilà j'ai un document txt (ici test.txt) (dont la quantité de caractère varie(il s'agit d'une liste qui va s'agrandir au fur du temps) je voudrais pouvoir à l'aide d'une fonction extraire ce qu'il y a dans le document txt ligne par ligne cependant je n'arrive pas à faire fonctionner la fonction. Il y a pour le moment un bouton servant à lancer la fonction mais j'aimerais pouvoir le faire disparaitre est-ce possible?
 
Pouvez vous m'aider ?
 

Code :
  1. <form>
  2. <input type="button" name="appel" value="test" onclick="appel()"></input>
  3. </form> 
  4.        
  5.  <?php function appel() {     
  6.             $ressource = fopen('test.txt', 'rb');
  7.             if (($ressource)!="" ){
  8.             //Lit une ligne de caractère du fichier
  9.             echo 'Premier appel : ' .fgets($ressource). '<br>';
  10.            
  11.  }}
  12.         ?>

Reply

Marsh Posté le 17-08-2022 à 21:42:20   

Reply

Marsh Posté le 17-08-2022 à 23:46:45    

Ouaouh.
Ce n'est pas gagné : ton bouton html ( <input type="button" /> ) appel une fonction javascript ( onclick="appel()" ) alors que ton code lisant ton fichier texte est déclaré dans des balises php...
 
...mais ne sera jamais exécuté en l'état car les 2 premières choses sont coté client alors que le code php est exécuté coté serveur.
 
Essaye un peu de revoir les bases car pour le moment ça vas être difficile d'avancer.
Ou fait plus simple, si tu n'as pas besoin de bouton, contente toi d’exécuter du code php:

Code :
  1. <?php
  2. $handle = fopen("inputfile.txt", "r" );
  3. $i = 0;
  4. if ($handle) {
  5.     while (($line = fgets($handle)) !== false) {
  6.         $i++;
  7.         echo "\nLigne N°".$i." => ".$line;
  8.     }
  9.     fclose($handle);
  10. }
  11. ?>


https://www.php.net/manual/fr/function.fgets.php


---------------
D3
Reply

Marsh Posté le 17-08-2022 à 23:56:20    

Merci pour ton retour. Je me suis rendu compte peu te temps avant ta réponse que le bouton était en effet plus une gêne qu'autre chose. Je l'ai donc enlevé et crée une boucle while cependant je n'arrive pas à la faire tourner plus d'une fois la condition qui active le break ne fonctionne pas correctement as-tu une idée pour me permettre de la faire fonctionner correctement?

Code :
  1. ?php     
  2.             $ressource = fopen('test.txt', 'rb');
  3.            
  4. while ($ressource !="" ) {
  5.      echo 'Appel : ' .fgets($ressource). '<br>';
  6. if ($ressource=''){
  7. break;
  8. }}
  9.         ?>

Reply

Marsh Posté le 18-08-2022 à 09:43:03    

Ben tu regardes mon code, ou alors la doc php de fgets...


---------------
D3
Reply

Marsh Posté le 23-08-2022 à 15:59:59    

Tu peux utiliser la fonction file() qui te mets ton fichier dans un array (une ligne du fichier = 1 entrée dans le array) ;)
Après, faut voir si les fichiers sont pas trop gros mais jusqu'à qq Mo, ça passe tranquille.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed