fprintf

funkcja

Zapisuje sformatowany ciąg do strumienia pliku i zwraca liczbę zapisanych znaków. Działa jak printf, ale kieruje wyjście do pliku.

fprintf(resource $stream, string $format, mixed ...$values): int

fprintf to wersja printf piszącą do strumienia zamiast na standardowe wyjście. Przekazujesz uchwyt pliku (lub strumień jak STDERR), szablon formatu i wartości — identycznie jak w printf czy sprintf. Zwracana wartość to liczba zapisanych znaków, co rzadko jest potrzebne.

Przydaje się do zapisywania raportów do pliku lub wysyłania sformatowanych komunikatów na STDERR bez buforowania wyników w pamięci (jak robiłby to sprintf).

<?php
declare(strict_types=1);

$sciezka = sys_get_temp_dir() . '/raport.txt';
$plik = fopen($sciezka, 'w');

fprintf($plik, "Produkt: %-20s Cena: %8.2f PLN\n", 'Kawa', 12.5);
fprintf($plik, "Produkt: %-20s Cena: %8.2f PLN\n", 'Herbata', 8.0);

fclose($plik);
unlink($sciezka);

// raport.txt:
// Produkt: Kawa                 Cena:    12.50 PLN
// Produkt: Herbata              Cena:     8.00 PLN