Arriver a faire fonctionner une fermeture de boucle php

Fermé
minwolf - 18 août 2022 à 11:23
jordane45 Messages postés 38201 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 juin 2024 - 18 août 2022 à 16:51

Bonjour, voilà je suis en train de récupérer une liste dans un fichier .txt (donc je m'y prend ligne par ligne) j'ai donc créer une boucle qui le fait pour moi cependant j'ai un problème avec la fermeture de la boucle (soit elle ne s'active pas soit elle s'active direct) pouvez vous m'aider et m'expliquer mon erreur pls ?(soyez indulgent j'ai commencer le php hier)

<?php     
    $ressource = fopen('test.txt', 'r');
	$ligne = fgets($ressource);
               
    while ($ligne!="") {
		echo("Appel :".fgets($ressource)."<br>")  ;
	
         if ($ligne==0){
              break;
         }
	}

?>


Windows / Firefox 103.0

A voir également:

3 réponses

jordane45 Messages postés 38201 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 juin 2024 4 675
18 août 2022 à 11:32

Bonjour,

Inspire toi donc de l'exemple donné dans la documentation 

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


0

Bonjour, merci pour ton conseil cependant je ne comprend pas pourquoi quand je fais un copier coller de l'exemple donné dans la documentation, pour voir comment il marche, rien ne se passe sur la page (j'ai seulement modifier le nom du fichier pour qu'il aille dans le fichier déjà créé

<?php
$fp = @fopen("text.txt", "r");
if ($fp) {
    while (($buffer = fgets($fp, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($fp)) {
        echo "Erreur: fgets() a échoué\n";
    }
    fclose($fp);
}
?>
0
jordane45 Messages postés 38201 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 juin 2024 4 675
18 août 2022 à 16:51

Ajoute des contrôles suplémentaires pour voir ce qui se passe.

par exemple

<?php

$fichier = "text.txt"; // par précaution, moi j'utiliserai le chemin absolu .. par exemple : __DIR__ . "/text.txt";

if (!file_exists($fichier)){
  echo "Le fichier " . $fichier . " n'existe pas ou ne se trouve pas à l'emplacement spécifié..." . PHP_EOL;
  exit;
}

$fp = @fopen($fichier, "r");
if ($fp) {
  while (($buffer = fgets($fp, 4096)) !== false) {
    echo $buffer;
  }
  if (!feof($fp)) {
    echo "Erreur: fgets() a échoué" . PHP_EOL;
  }
  fclose($fp);
}else{
   echo "Erreur lors de l'ouverture du fichier : " . $fichier  . PHP_EOL;
   exit;
}
?>


Pense aussi à activer l'affichage des erreurs PHP  https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

0