PHP fprintf()Functions

PHP String 参考手册PHP String Reference Manual

Examples

Write some text to a text file named "test.txt":

<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt","w");
echo fprintf($file,"There are %u million bicycles in %s.",$number,$str);
?>

The code above will output:

40

The following text will be written to the file "test.txt":

There are 9 million bicycles in Beijing.


Definition and Usage

The fprintf() function writes a formatted string to the specified output stream (for example: a file or database).

The arg1, arg2, ++ parameters will be inserted into the main string at the percent (%) sign. The function is executed step by step. At the first % sign, arg1 is inserted, at the second % sign, arg2 is inserted, and so on.

Note:If there are more % signs than arg parameters, you must use placeholders. The placeholder is inserted after the % sign and consists of a number and "\$". See Example 2.

Tip:Related functions:printf()、 sprintf()、 vprintf()、 vsprintf()andvfprintf()


Syntax

fprintf(stream,format,arg1,arg2,arg++)

Parameters Description
stream Required. Specifies where to write/output the string.
format Required. Specifies the string and how to format the variables in it.

Possible format values:

  • %% - Returns a percent sign %
  • %b - Binary number
  • %c - The character corresponding to the ASCII value
  • %d - Signed decimal number (negative, zero, positive)
  • %e - Scientific notation using lowercase (e.g. 1.2e+2)
  • %E - Scientific notation using uppercase (e.g. 1.2E+2)
  • %u - Unsigned decimal number (greater than or equal to 0)
  • %f - Floating-point number (local setting)
  • %F - Floating-point number (non-local setting)
  • %g - Shorter of %e and %f
  • %G - Shorter of %E and %f
  • %o - Octal number
  • %s - String
  • %x - Hexadecimal number (lowercase letters)
  • %X - Hexadecimal number (uppercase letters)

Additional format values. Must be placed between the % and the letter (e.g. %.2f):

  • + (Adds + or - before a number to define its positive/negative sign. By default, only negative numbers are marked, positive numbers are not)
  • ' (Specifies what to use as padding, the default is space. It must be used together with the width specifier. For example: %'x20s (using "x" as padding))
  • - (Left-adjust the variable value)
  • [0-9] (Specifies the minimum width of the variable value)
  • .[0-9] (Specifies the number of decimal places or the maximum string length)

Note:If multiple of the above format values are used, they must be used in the above order and cannot be rearranged.

arg1 Required. Specifies the parameter to be inserted at the first % sign in the format string.
arg2 Optional. Specifies the parameter to be inserted at the second % sign in the format string.
arg++ Optional. Specifies the parameters to be inserted at the third, fourth, etc. % signs in the format string.

Technical Details

Return value: Returns the length of the written string.
PHP version: 5+


More Examples

Example 1

Write some text to a file:

<?php
$number = 123;
$file = fopen("test.txt","w");
fprintf($file,"%f",$number);
?>

The following text will be written to the file "test.txt":

123.000000

Example 2

Using placeholders:

<?php
$number = 123;
$file = fopen("test.txt","w");
fprintf($file,"With 2 decimals: %1$.2f
nWith no decimals: %1$u",$number);
?>

The following text will be written to the file "test.txt":

With 2 decimals: 123.00
With no decimals: 123

Example 3

Use printf() to demonstrate all possible format values:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2

// Note: The format value "%%" returns a percent sign
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c = %c <br>",$char); // The ASCII Character
printf("%%d = %d <br>",$num1); // Signed decimal number
printf("%%d = %d <br>",$num2); // Signed decimal number
printf("%%e = %e <br>",$num1); // Scientific notation (lowercase)
printf("%%E = %E <br>",$num1); // Scientific notation (uppercase)
printf("%%u = %u <br>",$num1); // Unsigned decimal number (positive)
printf("%%u = %u <br>",$num2); // Unsigned decimal number (negative)
printf("%%f = %f <br>",$num1); // Floating-point number (local settings aware)
printf("%%F = %F <br>",$num1); // Floating-point number (not local settings aware)
printf("%%g = %g <br>",$num1); // Shorter of %e and %f
printf("%%G = %G <br>",$num1); // Shorter of %E and %f
printf("%%o = %o <br>",$num1); // Octal number
printf("%%s = %s <br>",$num1); // String
printf("%%x = %x <br>",$num1); // Hexadecimal number (lowercase)
printf("%%X = %X <br>",$num1); // Hexadecimal number (uppercase)
printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
?>

Run Example »


PHP String 参考手册PHP String Reference Manual Other Extensions