Witam
Korzystam ze skryptu, który sam napisałem i mam niewielki kłopot mianowicie mam już zapisany plik txt z kilkoma wartościami, odczytuje go za pomocą:
$i=0;
$uchwyt = @fopen ("plik.txt", "r");
if ($uchwyt) {
while (!feof($uchwyt)) {
$dane[$i] = fgets($uchwyt, 30);
echo $i . ">>" . $dane[$i] . "<BR>";
$i++;
}
fclose ($uchwyt);
}
natomiast zapis przeprowadzam przy wykorzystaniu kodu:
$fp = fopen ("plik.txt", "wb");
flock($fp, LOCK_EX);
for ($x=0; $x<$i-1; $x++)
{
fputs ($fp, $dane[$x]);
}
fputs ($fp, "1234" . "\r\n" . "abc" . "\r\n");
flock($fp, LOCK_UN);
fclose ($fp);
Cały kłopot pojawia się w momencie jak próbuje ponownie coś do pliku zapisać, ponieważ z nieznanych powodów program obcina mi abc i w to miejsce zapisuje 1234 wygląda to tak jak by nie kończył linii i całość zapisywał w jednej tylko w notatniku wyświetlał kilka linii ze względu na łamanie \r\n. Próbowałem fopen z wt, wb, łamań linii \r \n itd i nic nie poskutkowało zawsze nadpisuje przedostatnią linię. Co można na to poradzić?