Funkcija fprintf
Funkcija fprintf formatira niz v skladu z določenim vzorcem in zapiše rezultat v datotečni tok. Kot prvi parameter sprejme vir datoteke, kot drugi parameter niz format, nadaljnji parametri pa so vrednosti za vstavljanje v vzorec. Če namesto vira datoteke podate null, bo funkcija vrnila niz namesto pisanja v tok.
V nizu format se uporabljajo posebni znaki (specifikatorji formata), ki se začnejo z znakom % in upravljajo z oblikovanjem izhoda.
Sintaksa
fprintf(resource $handle, string $format, mixed ...$values): int|false
Specifikatorji formata
| Specifikator | Opis |
|---|---|
%s |
Niz |
%d |
Predpisano celo število (decimalno) |
%u |
Nepredpisano celo število (decimalno) |
%f |
Število s plavajočo vejico (odvisno od lokalnih nastavitev) |
%F |
Število s plavajočo vejico (neodvisno od lokalnih nastavitev) |
%c |
Znak po ASCII-kodi |
%x |
Celo število v šestnajstiškem sistemu (male črke) |
%X |
Celo število v šestnajstiškem sistemu (velike črke) |
%o |
Celo število v osmiškem sistemu |
%b |
Celo število v dvojiškem sistemu |
%e |
Znanstveni zapis (male črke) |
%E |
Znanstveni zapis (velike črke) |
%g |
Kratki zapis %e ali %f |
%G |
Kratki zapis %E ali %F |
%% |
Znak za odstotek |
Primer
Zapis formatiranega niza v datoteko:
<?php
$file = fopen('output.txt', 'w');
fprintf($file, "Ime: %s, Starost: %d", "John", 25);
fclose($file);
?>
Vsebina datoteke output.txt:
'Ime: John, Starost: 25'
Primer
Uporaba različnih specifikatorjev formata:
<?php
$res = fopen('php://temp', 'w');
fprintf($res, "Plavajoča vejica: %.2f, Hex: %x", 12.3456, 255);
rewind($res);
echo stream_get_contents($res);
fclose($res);
?>
Rezultat izvajanja kode:
'Plavajoča vejica: 12.35, Hex: ff'
Primer
Vračanje niza namesto zapisa v datoteko:
<?php
$result = sprintf("Danes je %s", date('Y-m-d'));
echo $result;
?>
Rezultat izvajanja kode:
'Danes je 2023-11-15'
Glejte tudi
-
funkcijo
sprintf,
ki vrne formatiran niz -
funkcijo
vprintf,
ki izpiše formatiran niz -
funkcijo
file_put_contents,
ki zapiše podatke v datoteko