Funkce fprintf
Funkce fprintf naformátuje řetězec podle zadané šablony a zapíše výsledek do souborového proudu. Jako první parametr přijímá souborový prostředek, jako druhý - řetězec formátu a další parametry - hodnoty pro dosazení do šablony. Pokud místo souborového prostředku předáte null, funkce vrátí řetězec místo zápisu do proudu.
V řetězci formátu se používají speciální znaky (formátové specifikátory), které začínají znakem % a řídí formátování výstupu.
Syntaxe
fprintf(resource $handle, string $format, mixed ...$values): int|false
Formátové specifikátory
| Specifikátor | Popis |
|---|---|
%s |
Řetězec |
%d |
Celé číslo se znaménkem (desítkové) |
%u |
Celé číslo bez znaménka (desítkové) |
%f |
Číslo s plovoucí desetinnou čárkou (závislé na lokalizaci) |
%F |
Číslo s plovoucí desetinnou čárkou (nezávislé na lokalizaci) |
%c |
Znak podle ASCII kódu |
%x |
Celé číslo v šestnáctkové soustavě (malá písmena) |
%X |
Celé číslo v šestnáctkové soustavě (velká písmena) |
%o |
Celé číslo v osmičkové soustavě |
%b |
Celé číslo v binární soustavě |
%e |
Vědecká notace (malá písmena) |
%E |
Vědecká notace (velká písmena) |
%g |
Krátký zápis %e nebo %f |
%G |
Krátký zápis %E nebo %F |
%% |
Znak procenta |
Příklad
Zápis formátovaného řetězce do souboru:
<?php
$file = fopen('output.txt', 'w');
fprintf($file, "Name: %s, Age: %d", "John", 25);
fclose($file);
?>
Obsah souboru output.txt:
'Name: John, Age: 25'
Příklad
Použití různých specifikátorů formátu:
<?php
$res = fopen('php://temp', 'w');
fprintf($res, "Float: %.2f, Hex: %x", 12.3456, 255);
rewind($res);
echo stream_get_contents($res);
fclose($res);
?>
Výsledek provedení kódu:
'Float: 12.35, Hex: ff'
Příklad
Vrácení řetězce místo zápisu do souboru:
<?php
$result = sprintf("Today is %s", date('Y-m-d'));
echo $result;
?>
Výsledek provedení kódu:
'Today is 2023-11-15'
Viz také
-
funkci
sprintf,
která vrací formátovaný řetězec -
funkci
vprintf,
která vypisuje formátovaný řetězec -
funkci
file_put_contents,
která zapisuje data do souboru