fwrite
funkcja
Zapisuje string do otwartego uchwytu pliku. Zwraca liczbę zapisanych bajtów lub false przy błędzie.
fwrite(resource $stream, string $data, ?int $length = null): int|false
fwrite wysyła dane do zasobu otwartego przez fopen. Zwraca liczbę faktycznie zapisanych bajtów — zawsze porównuj wynik z strlen($data), żeby wykryć niepełny zapis. Gdy podasz $length, zostanie zapisane co najwyżej tyle bajtów. Przy błędzie funkcja zwraca false.
Pamiętaj, żeby po pracy zamknąć uchwyt przez fclose — inaczej bufor może nie zostać opróżniony (flushed) do dysku.
Bezpieczeństwo: nie buduj ścieżek z danych użytkownika bez ich walidacji — ryzyko path-traversal.
<?php
declare(strict_types=1);
$sciezka = sys_get_temp_dir() . '/raport.txt';
$uchwyt = fopen($sciezka, 'a');
if ($uchwyt === false) {
throw new \RuntimeException('Nie można otworzyć pliku.');
}
$wiersz = date('Y-m-d H:i:s') . ' — nowy wpis' . PHP_EOL;
$zapisano = fwrite($uchwyt, $wiersz);
fclose($uchwyt);
echo "Zapisano $zapisano bajtów.";