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