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
fprintf(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
$file = fopen('output.txt', 'w');
fprintf($file, "Name: %s, Age: %d", "John", 25);
fclose($file);
?>
Az output.txt fájl tartalma:
'Name: John, Age: 25'
Példa
Különböző formátum specifikátorok használata:
<?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:
'Float: 12.35, Hex: ff'
Példa
String visszaadása fájlba írás helyett:
<?php
$result = sprintf("Today is %s", date('Y-m-d'));
echo $result;
?>
A kód végrehajtásának eredménye:
'Today is 2023-11-15'
Lásd még
-
a
sprintffüggvényt,
amely formázott stringet ad vissza -
a
vprintffüggvényt,
amely formázott stringet ír ki -
a
file_put_contentsfüggvényt,
amely adatokat ír fájlba