Blog : PHP fprintf() Function

PHP fprintf() Function

--------------------------------------------------------------------------------
 Complete PHP String Reference
--------------------------------------------------------------------------------

Definition and Usage
The fprintf() function writes a formatted string to a specified output stream (example: file or database).

The arg1, arg2, ++ parameters will be inserted at percent (%) signs in the main string. This function works "step-by-step". At the first % sign, arg1 is inserted, at the second % sign, arg2 is inserted, etc.

The fprintf() function returns the length of the written string.

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

Parameter 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 according to the ASCII value
%d - Signed decimal number
%e - Scientific notation (e.g. 1.2e+2)
%u - Unsigned decimal number
%f - Floating-point number (local settings aware)
%F - Floating-point number (not local settings aware)
%o - Octal number
%s - String
%x - Hexadecimal number (lowercase letters)
%X - Hexadecimal number (uppercase letters)
Additional format values. These are placed between the % and the letter (example %.2f):

+ (Forces both + and - in front of numbers. By default, only negative numbers are marked)
' (Specifies what to use as padding. Default is space. Must be used together with the width specifier. Example: %'x20s (this uses "x" as padding)
- (Left-justifies the variable value)
[0-9] (Specifies the minimum width held of to the variable value)
.[0-9] (Specifies the number of decimal digits or maximum string length)
Note: If multiple additional format values are used, they must be in the same order as above.
 
arg1 Required. The argument to be inserted at the first %-sign in the format string
arg2 Optional. The argument to be inserted at the second %-sign in the format string
arg++ Optional. The argument to be inserted at the third, fourth, etc. %-sign in the format string


--------------------------------------------------------------------------------

Tips and Notes
Note: If there are more % signs than arguments, you must use placeholders. A placeholder is inserted after the % sign, and consists of the argument- number and "\$". See example three.

Tip: Related functions: printf(), sprintf(), vfprintf(), vprintf(), and vsprintf().


--------------------------------------------------------------------------------

Example 1
$str = "Hello";
$number = 123;
$file = fopen("test.txt","w");
echo fprintf($file,"%s world. Day number %u",$str,$number);
?>  

The output of the code above will be:

27  

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

Hello world. Day number 123  


--------------------------------------------------------------------------------

Example 2
$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 3
Use of placeholders:

$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