A fprintf függvény

A fprintf függvény egy stringet formáz a megadott sablon alapján és az eredményt egy fájlstreambe írja. Az első paramétere egy fájl erőforrás, a második egy formátum string, a további paraméterek pedig a sablonba helyettesítendő értékek. Ha null-t adunk meg fájl erőforrás helyett, a függvény egy stringet ad vissza a streambe írás helyett.

A formátum string speciális karaktereket (formátum specifikátorokat) használ, amelyek a % jellel kezdődnek és irányítják a kimenet formázását.

Szintaxis

phpfprintf(resource $handle, string $format, mixed ...$values): int|false

Formátum specifikátorok

Specifikátor Leírás
%s String
%d Előjeles egész szám (decimális)
%u Előjel nélküli egész szám (decimális)
%f Lebegőpontos szám (locale függő)
%F Lebegőpontos szám (nem locale függő)
%c Karakter ASCII-kód alapján
%x Egész szám hexadecimális rendszerben (kisbetűs)
%X Egész szám hexadecimális rendszerben (nagybetűs)
%o Egész szám oktális rendszerben
%b Egész szám bináris rendszerben
%e Tudományos jelölés (kisbetűs)
%E Tudományos jelölés (nagybetűs)
%g Rövid forma %e vagy %f
%G Rövid forma %E vagy %F
%% Százalékjel

Példa

Formázott string írása fájlba:

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

Az output.txt fájl tartalma:

php'Name: John, Age: 25'

Példa

Különböző formátum specifikátorok használata:

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);
?>

A kód végrehajtásának eredménye:

php'Float: 12.35, Hex: ff'

Példa

String visszaadása fájlba írás helyett:

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

A kód végrehajtásának eredménye:

php'Today is 2023-11-15'

Lásd még

  • a sprintf függvényt,
    amely formázott stringet ad vissza
  • a vprintf függvényt,
    amely formázott stringet ír ki
  • a file_put_contents függvényt,
    amely adatokat ír fájlba