АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
311 of 410 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Функция 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,
    которая записывает данные в файл
byenru