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.";