Funkcia fprintf

Funkcia fprintf naformátuje reťazec podľa zadaného vzoru a zapíše výsledok do súborového prúdu. Ako prvý parameter prijíma súborový zdroj, ako druhý - reťazec formátu a ďalšie parametre - hodnoty na dosadenie do vzoru. Ak namiesto súborového zdroja predáte null, funkcia vráti reťazec namiesto zápisu do prúdu.

V reťazci formátu sa používajú špeciálne znaky (formátové špecifikátory), ktoré začínajú znakom % a riadia formátovanie výstupu.

Syntax

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

Formátové špecifikátory

Špecifikátor Popis
%s Reťazec
%d Celé číslo so znamienkom (desiatkové)
%u Celé číslo bez znamienka (desiatkové)
%f Číslo s pohyblivou rádovou čiarkou (závislé od lokality)
%F Číslo s pohyblivou rádovou čiarkou (nezávislé od lokality)
%c Znak podľa ASCII kódu
%x Celé číslo v šestnástkovej sústave (malé písmená)
%X Celé číslo v šestnástkovej sústave (veľké písmená)
%o Celé číslo v osmičkovej sústave
%b Celé číslo v dvojkovej sústave
%e Vedecká notácia (malé písmená)
%E Vedecká notácia (veľké písmená)
%g Krátky zápis %e alebo %f
%G Krátky zápis %E alebo %F
%% Znak percenta

Príklad

Zápis formátovaného reťazca do súboru:

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

Obsah súboru output.txt:

php'Meno: John, Vek: 25'

Príklad

Použitie rôznych špecifikátorov formátu:

php<?php
  $res = fopen('php://temp', 'w');
  fprintf($res, "Desatinné: %.2f, Hex: %x", 12.3456, 255);
  rewind($res);
  echo stream_get_contents($res);
  fclose($res);
?>

Výsledok vykonania kódu:

php'Desatinné: 12.35, Hex: ff'

Príklad

Návrat reťazca namiesto zápisu do súboru:

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

Výsledok vykonania kódu:

php'Dnes je 2023-11-15'

Pozrite tiež

  • funkciu sprintf,
    ktorá vracia formátovaný reťazec
  • funkciu vprintf,
    ktorá vypíše formátovaný reťazec
  • funkciu file_put_contents,
    ktorá zapíše dáta do súboru