Bonjour,
Je me pose quelques questions sur la fonction fopen() et compagnie !
Pourquoi ne peut on pas écrire puis lire un fichier .txt si on ne ferme pas la connexion juste après l'écriture?
Un exemple qui ne fonctionne pas :
Un exemple qui fonctionne :
A quoi sert exactement le chiffre "1024" dans la fonction fgets() ?
Exemple :
J'ai crue comprendre que ce chiffre permet d'afficher le nombre de lettres ... En supposant que mon texte contient 2000 lettres et que j'indique par exemple "150" dans fgets(), ça fonctionne.
Par contre, si j'indique "2048", seul la première ligne du fichier est lut malgré qu'elle contient moins de 2048 caractères ... Pourquoi la fonction ne passe pas à la ligne suivante pour afficher le reste?
Autre question ^^ :
J'ai crus comprendre que le chiffre "1024" indique la première ligne ... Quand est il vraiment ? Quelle chiffre est ton censé mettre si on lit qu'une seule ligne ou l'intégralité d'un fichier ? Je vois du 1024 ou du 4096 dans les tutos. que je trouve ??
Dernière question :
Lors de la lecture intégrale d'un fichier et dans la boucle "while", doit on utiliser :
ou
???
Les 2 affichent le même résultat et je ne vois pas ou est la différence ??
Merci
Je me pose quelques questions sur la fonction fopen() et compagnie !
Pourquoi ne peut on pas écrire puis lire un fichier .txt si on ne ferme pas la connexion juste après l'écriture?
Un exemple qui ne fonctionne pas :
Code:
<?php
$fichier_a_ouvrir = fopen ("b.txt", "a+");
//on écrit dans le fichier
fwrite($fichier_a_ouvrir,"Bonjour et bienvenue :)!<br/>");
//on lit tout
while (!feof($fichier_a_ouvrir)) {
$ligne = fgets($fichier_a_ouvrir, 1024);
// le echo ne retourne rien
echo $ligne;
}
fclose ($fichier_a_ouvrir);
?>
Code:
<?php
$fichier_a_ouvrir = fopen ("b.txt", "a+");
fwrite($fichier_a_ouvrir,"Bonjour et bienvenue :)!<br/>");
//Ici je ferme puis ré ouvre la connexion pour lire le contenu du fichier
fclose ($fichier_a_ouvrir);
$fichier_a_ouvrir = fopen ("b.txt", "a+");
while (!feof($fichier_a_ouvrir)) {
$ligne = fgets($fichier_a_ouvrir, 1024);
echo $ligne;
}
fclose ($fichier_a_ouvrir);
?>
A quoi sert exactement le chiffre "1024" dans la fonction fgets() ?
Exemple :
Code:
<?php
$fichier_a_ouvrir = fopen ("b.txt", "r");
$contenu_du_fichier = fgets ($fichier_a_ouvrir, 1024);
fclose ($fichier_a_ouvrir);
echo $contenu_du_fichier;
?>
Par contre, si j'indique "2048", seul la première ligne du fichier est lut malgré qu'elle contient moins de 2048 caractères ... Pourquoi la fonction ne passe pas à la ligne suivante pour afficher le reste?
Autre question ^^ :
J'ai crus comprendre que le chiffre "1024" indique la première ligne ... Quand est il vraiment ? Quelle chiffre est ton censé mettre si on lit qu'une seule ligne ou l'intégralité d'un fichier ? Je vois du 1024 ou du 4096 dans les tutos. que je trouve ??
Dernière question :
Lors de la lecture intégrale d'un fichier et dans la boucle "while", doit on utiliser :
Code:
$ligne = fgets($fichier_a_ouvrir, 1024);
Code:
$ligne = fread($fichier_a_ouvrir, 1024);
Les 2 affichent le même résultat et je ne vois pas ou est la différence ??
Merci