je suis d'apprendre à travailler avec des fichiers en php, j'ai d'abord fait cette fonction pour écrire dans le fichier, ESt assez simple:tableau à deux dimensions après fgets?
function zapis_do_suboru($zapisovany_subor, $obsah_suboru)
{
$pracovny_subor = fopen($zapisovany_subor,"w") or die("Chyba pri otvarani suboru");
fwrite($pracovny_subor, $obsah_suboru) or die("Nejde zapisovat do suboru");
fclose($pracovny_subor);
echo "Zapis $zapisovany_subor prebehol uspesne.";
}
Puis je fis fonction de lecture à partir du fichier, mais j'étais peu coincé ici, parce que mon livre est d'expliquer comment lire une seule ligne, mais je googlé peu et trouvé une solution et fait cette fonction pour la lecture du fichier:
function citanie_zo_suboru($citany_subor)
{
$pracovny_subor = fopen($citany_subor,"r") or die("Chyba pri otvarani suboru");
$j = 0;
while(!feof($pracovny_subor))
{
$pole[$j] = array(fgets($pracovny_subor, 4096));
$j++;
}
fclose($pracovny_subor);
return $pole;
}
Je voulais ensuite le tester, donc Je crée deux variables:
$subor = "textsubor.txt";
$text = <<<_END
Riadok1 blabla
Riadok2 blabla
Riadok3 meno suboru: $subor
_END;
Et cet appel de fonctions:
zapis_do_suboru($subor, $text);
echo "<br />";
foreach (citanie_zo_suboru($subor) as $index =>$popis)
echo $popis."<br />";
Mais le problème est que la fonction citanie_zo_suboru crée tableau à deux dimensions, de sorte que la sortie était seulement « tableau de tableau de tableau de tableau ». Avec print_r et peu d'essayer j'ai découvert que lorsque je change:
foreach (citanie_zo_suboru($subor) as $index =>$popis)
echo $popis."<br />";
à:
foreach (citanie_zo_suboru($subor) as $index =>$popis)
echo $popis[0]."<br />";
qu'il fait exactement ce que je voulais. Quelqu'un peut-il me dire pourquoi ma fonction crée un tableau à deux dimensions et pas seulement un tableau à une dimension classique? Je serais vraiment reconnaissant si vous le pouviez. Merci
me ressemble comme $ pole [$ j] = array (fgets ($ pracovny_subor, 4096)); devrait être $ pole [$ j] = fgets ($ pracovny_subor, 4096); –
@JoeMinichino ou merci ça marche vraiment, maintenant je comprends ce que j'ai fait mal :) merci beaucoup –