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
fprintf(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
$file = fopen('output.txt', 'w');
fprintf($file, "Meno: %s, Vek: %d", "John", 25);
fclose($file);
?>
Obsah súboru output.txt:
'Meno: John, Vek: 25'
Príklad
Použitie rôznych špecifikátorov formátu:
<?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:
'Desatinné: 12.35, Hex: ff'
Príklad
Návrat reťazca namiesto zápisu do súboru:
<?php
$result = sprintf("Dnes je %s", date('Y-m-d'));
echo $result;
?>
Výsledok vykonania kódu:
'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