Функция fprintf
Функцията fprintf форматира низ според посочения шаблон и записва резултата във файлов поток. Приема файлов ресурс като първи параметър, низ за формат като втори, а следващите параметри са стойности за заместване в шаблона. Ако се подаде null вместо файлов ресурс, функцията ще върне низ вместо да записва в потока.
Във форматния низ се използват специални символи (форматни спецификатори), които започват със знака % и управляват форматирането на изхода.
Синтаксис
fprintf(resource $handle, string $format, mixed ...$values): int|false
Форматни спецификатори
| Спецификатор | Описание |
|---|---|
%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');
fprintf($file, "Name: %s, Age: %d", "John", 25);
fclose($file);
?>
Съдържание на файла output.txt:
'Name: John, Age: 25'
Пример
Използване на различни спецификатори за формат:
<?php
$res = fopen('php://temp', 'w');
fprintf($res, "Float: %.2f, Hex: %x", 12.3456, 255);
rewind($res);
echo stream_get_contents($res);
fclose($res);
?>
Резултат от изпълнението на кода:
'Float: 12.35, Hex: ff'
Пример
Връщане на низ вместо запис във файл:
<?php
$result = sprintf("Today is %s", date('Y-m-d'));
echo $result;
?>
Резултат от изпълнението на кода:
'Today is 2023-11-15'
Вижте също
-
функцията
sprintf,
която връща форматиран низ -
функцията
vprintf,
която извежда форматиран низ -
функцията
file_put_contents,
която записва данни във файл