Funcția fprintf
Funcția fprintf formatează un șir conform șablonului specificat și scrie rezultatul într-un flux de fișiere. Primul parametru primește o resursă de fișier, al doilea - un șir de format, iar parametrii următori - valori pentru substituire în șablon. Dacă este transmis null în loc de resursă de fișier, funcția va returna șirul în loc să scrie în flux.
În șirul de format sunt utilizate caractere speciale (specificatori de format), care încep cu semnul % și controlează formatarea ieșirii.
Sintaxă
fprintf(resource $handle, string $format, mixed ...$values): int|false
Specificatori de format
| Specificator | Descriere |
|---|---|
%s |
Șir |
%d |
Număr întreg cu semn (zecimal) |
%u |
Număr întreg fără semn (zecimal) |
%f |
Număr cu virgulă mobilă (dependent de localizare) |
%F |
Număr cu virgulă mobilă (independent de localizare) |
%c |
Caracter după codul ASCII |
%x |
Număr întreg în sistem hexazecimal (litere mici) |
%X |
Număr întreg în sistem hexazecimal (litere mari) |
%o |
Număr întreg în sistem octal |
%b |
Număr întreg în sistem binar |
%e |
Notație științifică (litere mici) |
%E |
Notație științifică (litere mari) |
%g |
Scriere scurtă %e sau %f |
%G |
Scriere scurtă %E sau %F |
%% |
Semnul procent |
Exemplu
Scrierea unui șir formatat în fișier:
<?php
$file = fopen('output.txt', 'w');
fprintf($file, "Name: %s, Age: %d", "John", 25);
fclose($file);
?>
Conținutul fișierului output.txt:
'Name: John, Age: 25'
Exemplu
Utilizarea diferiților specificatori de format:
<?php
$res = fopen('php://temp', 'w');
fprintf($res, "Float: %.2f, Hex: %x", 12.3456, 255);
rewind($res);
echo stream_get_contents($res);
fclose($res);
?>
Rezultatul executării codului:
'Float: 12.35, Hex: ff'
Exemplu
Returnarea șirului în loc de scrierea în fișier:
<?php
$result = sprintf("Today is %s", date('Y-m-d'));
echo $result;
?>
Rezultatul executării codului:
'Today is 2023-11-15'
Vedeți și
-
funcția
sprintf,
care returnează un șir formatat -
funcția
vprintf,
care afișează un șir formatat -
funcția
file_put_contents,
care scrie date într-un fișier