Funkcja fprintf
Funkcja fprintf formatuje ciąg zgodnie z określonym wzorcem i zapisuje wynik do strumienia plikowego. Jako pierwszy parametr przyjmuje zasób plikowy, jako drugi - ciąg formatujący, a kolejne parametry - wartości do podstawienia we wzorcu. Jeśli zamiast zasobu plikowego przekażesz null, funkcja zwróci ciąg zamiast zapisywać do strumienia.
W ciągu formatującym używane są specjalne symbole (specyfikatory formatu), które zaczynają się od znaku % i sterują formatowaniem wyjścia.
Składnia
fprintf(resource $handle, string $format, mixed ...$values): int|false
Specyfikatory formatu
| Specyfikator | Opis |
|---|---|
%s |
Ciąg znaków |
%d |
Liczba całkowita ze znakiem (dziesiętna) |
%u |
Liczba całkowita bez znaku (dziesiętna) |
%f |
Liczba zmiennoprzecinkowa (zależna od ustawień regionalnych) |
%F |
Liczba zmiennoprzecinkowa (niezależna od ustawień regionalnych) |
%c |
Znak według kodu ASCII |
%x |
Liczba całkowita w systemie szesnastkowym (małe litery) |
%X |
Liczba całkowita w systemie szesnastkowym (wielkie litery) |
%o |
Liczba całkowita w systemie ósemkowym |
%b |
Liczba całkowita w systemie dwójkowym |
%e |
Notacja naukowa (małe litery) |
%E |
Notacja naukowa (wielkie litery) |
%g |
Krótki zapis %e lub %f |
%G |
Krótki zapis %E lub %F |
%% |
Znak procentu |
Przykład
Zapis sformatowanego ciągu do pliku:
<?php
$file = fopen('output.txt', 'w');
fprintf($file, "Name: %s, Age: %d", "John", 25);
fclose($file);
?>
Zawartość pliku output.txt:
'Name: John, Age: 25'
Przykład
Użycie różnych specyfikatorów formatu:
<?php
$res = fopen('php://temp', 'w');
fprintf($res, "Float: %.2f, Hex: %x", 12.3456, 255);
rewind($res);
echo stream_get_contents($res);
fclose($res);
?>
Wynik wykonania kodu:
'Float: 12.35, Hex: ff'
Przykład
Zwrócenie ciągu zamiast zapisu do pliku:
<?php
$result = sprintf("Today is %s", date('Y-m-d'));
echo $result;
?>
Wynik wykonania kodu:
'Today is 2023-11-15'
Zobacz też
-
funkcję
sprintf,
która zwraca sformatowany ciąg -
funkcję
vprintf,
która wypisuje sformatowany ciąg -
funkcję
file_put_contents,
która zapisuje dane do pliku