Funkcija vfprintf
Funkcija vfprintf zapiše niz, formatiran v skladu s specifikatorji, v datotečni tok. Kot prvi parameter sprejme vir datoteke, kot drugi - niz formata, kot tretji - polje argumentov za vstavljanje. V nizu formata se uporabljajo posebni znaki (formatski specifikatorji), ki se začnejo z znakom % in upravljajo z formatiranjem izhoda.
Sintaksa
vfprintf(resource $handle, string $format, array $args): int
Formatski specifikatorji
| Specifikator | Opis |
|---|---|
%s |
Niz |
%d |
Predznačeno celo število (decimalno) |
%u |
Nepredznačeno 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');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Vsebina datoteke output.txt:
'Number: 10, Float: 20.50, String: test'
Primer
Uporaba različnih specifikatorjev:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Rezultat izpisa:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''