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

phpfprintf(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<?php
  $file = fopen('output.txt', 'w');
  fprintf($file, "Name: %s, Age: %d", "John", 25);
  fclose($file);
?>

Zawartość pliku output.txt:

php'Name: John, Age: 25'

Przykład

Użycie różnych specyfikatorów formatu:

php<?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:

php'Float: 12.35, Hex: ff'

Przykład

Zwrócenie ciągu zamiast zapisu do pliku:

php<?php
  $result = sprintf("Today is %s", date('Y-m-d'));
  echo $result;
?>

Wynik wykonania kodu:

php'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