Функција vfprintf
Функција vfprintf уписује стринг, форматиран према спецификаторима, у фајл ток. Првим параметром прихвата фајл ресурс, другим - стринг формата, трећим - низ аргумената за супституцију. У стрингу формата се користе специјални симболи (форматни спецификатори), који почињу са знаком % и управљају форматирањем излаза.
Синтакса
vfprintf(resource $handle, string $format, array $args): int
Форматни спецификатори
| Спецификатор | Опис |
|---|---|
%s |
Стринг |
%d |
Цео број са знаком (децимални) |
%u |
Цео број без знака (децимални) |
%f |
Број са покретном запетом (локал-зависан) |
%F |
Број са покретном запетом (не локал-зависан) |
%c |
Симбол по ASCII-коду |
%x |
Цео број у хексадецималном систему (мала слова) |
%X |
Цео број у хексадецималном систему (велика слова) |
%o |
Цео број у окталном систему |
%b |
Цео број у бинарном систему |
%e |
Научна нотација (мала слова) |
%E |
Научна нотација (велика слова) |
%g |
Кратак запис %e или %f |
%G |
Кратак запис %E или %F |
%% |
Знак процента |
Пример
Упис форматираног стринга у фајл:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Број: %d, Децимални: %.2f, Стринг: %s", $values);
fclose($file);
?>
Садржај фајла output.txt:
'Број: 10, Децимални: 20.50, Стринг: test'
Пример
Коришћење различитих спецификатора:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Хекс: %x, Научна нотација: %.2e, Попуна: '%5s'", $data);
fclose($res);
?>
Резултат излаза:
'Хекс: f, Научна нотација: 1.23e+1, Попуна: \' ABCDE\''