fprintf


string apg

WRITES a formatted STRING to a stream.

This function is SELF-SUFFICIENT, because it does not require auxiliary functions to display the result.





Undue substitutions will produce unpredictable results.



<?php

int fprintf 
res $handle str $format [, mix $args [, mix $... ]] )


where,

$handle The file system pointer as a resourse 
                
Typically created by fopen )

$format The format STRING used to express the result
                
SEE the below TABLE )
             
$args Additional arguments

?>

 $handle 


The file system pointer as a resourse.

Typically created by fopen.



$format


As sprintf, each SPECIFIER, present in FORMATTED STRING, must have its own SUBSTITUTE ARGUMENT.

SPECIFIER % TYPE ARGUMENT COMMENT
%%   literally %  
%b INTEGER Represented as BINARY  
%c INTEGER Represented as CHARACTER - ASCII  
%d INTEGER Represented as DECIMAL NUMBER +/-
%e FLOAT SCIENTIFIC NOTATION  
%E FLOAT As %e with the use of UPPERCASE  
%u INTEGER Presented as an UNSIGNED DECIMAL number. no signal
%f FLOAT Compatible with LOCALE  
%F FLOAT As %f not compatible with LOCALE  
%g FLOAT Shorter of %e and %f.  
%G FLOAT Shorter of %E e %F  
%o INTEGER Presented as an OCTAL number  
%s STRING STRING
 
%x INTEGER Presented as an HEXADECIMAL number lowercase
%X INTEGER Presented as an HEXADECIMAL number UPERCASE
ADDITIONAL FORMATS
0 ZERO FILLING WITH ZERO Number of desired decimal places
" " SPACE FILLING WITH SPACES Number of desired places
- HYPHEN Left-aligned value Right-aligned as default
N1.N2 N1 INTEGER
NUMBER OF DIGITS
N2 DECIMAL NUMBER OF DIGITS
ed48


 $arg1 ... $argN 


Additional arguments.



  1 EXERCISE   

<?php

$file01 
__DIR__ '/browser.txt';

$browsr01 $_SERVER['HTTP_USER_AGENT'];
// This is an internal variable

$fp fopen($file01'w');

if(
$fp == TRUE)
{
    
fprintf($fp'%s'$browsr01);
    
fclose($fp);
    echo 
'The file WAS SAVED as expected.<br><br>';

    echo 
file_get_contents($file01) . '<br><br>';
    
    
unlink($file01);
    
/* - - - - - - - - - - - - - - - - - - - - - - - -
       To erase the created $data_file.
 
       However, if you want to keep it, 
       just comment this line.

       - - - - - - - - - - - - - - - - - - - - - - - - */
    
}
else
{
    echo 
'The file WAS NOT SAVED as expected.<br><br>';
}

?>

 RESULT   

The file WAS SAVED as expected.

File content example, (browser.txt):

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36

The content saved by you, in this file, can be different.

  2 EXERCISE   

<?php

$file02 
__DIR__ .'/fprintf02.txt';

$isodate02 "%04d-%02d-%02d";
$year idate('Y');
$month idate('m');
$day idate('d');

$h idate('H');
$m idate('i');
$s idate('s');

$fp fopen($file02'w');

if(
$fp == TRUE)
{
    
fprintf($fp"%04d-%02d-%02d %02dh%02dmin%02ds"
                                  
$year$month$day$h$m$s );
    
fclose($fp);
    echo 
'The file WAS SAVED as expected.<br><br>';

    echo 
file_get_contents($file02) . '<br><br>';
    
    
unlink($file02);
    
/* - - - - - - - - - - - - - - - - - - - - - - - -
       To erase the created $data_file.
 
       However, if you want to keep it, 
       just comment this line.

       - - - - - - - - - - - - - - - - - - - - - - - - */
    
}
else
{
    echo 
'The file WAS NOT SAVED as expected.<br><br>';
}

?>

  3 EXERCISE   

<?php

$float_variation 
= [ "%f","%-f""%+f"
                               
"%7.2f""%-7.2f"
                               
"%07.2f""%-07.2f"
                               
"%'#7.2f" ];
                               
$float_numbers = [ 01, -10.32
                                -
0.323.4. -3.4
                                
2.54, -2.54 ];

setlocale(LC_ALL'de-DE''de_DE');

/* creating dumping file */
$data_file __DIR__ '/fprintf03.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

$counter 1;
/* float type variations */
fprintf($fp"<br><br>Testing fprintf() with floats:<br>");

foreach( 
$float_variation as $float_var ) {
  
fprintf$fp"\n\nIteration: %d\n",$counter);
  foreach( 
$float_numbers as $float_num ) {
    
fprintf$fp"\n");
    
fprintf$fp$float_var$float_num );
  }
  
$counter++;
}

fclose($fp);
print_r(file_get_contents($data_file));

unlink($data_file);
/* To erase the created $data_file.
 
   However, if you want to keep it, 
   just comment this line.

*/

?>

  4 EXERCISE   

<?php

$int_variation 
= array( "%d""%-d"
                                  
"%+d""%7.2d"
                                
"%-7.2d""%07.2d"
                              
"%-07.2d""%'#7.2d" );
$int_numbers = array( 01, -12.7
                                               -
2.723333333
                                                     -
23333333"1234" );

/* creating dumping file */
$data_file __DIR__ '/fprintf04.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

$counter 1;
/* integer type variations */
fprintf($fp"<br><br>Testing fprintf() with integers:<br>");
foreach( 
$int_variation as $int_var ) {
  
fprintf$fp"\n\nIteration: %d\n",$counter);
  foreach( 
$int_numbers as $int_num ) {
    
fprintf$fp"\n");
    
fprintf$fp$int_var$int_num );
  }
  
$counter++;
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>

  5 EXERCISE   

<?php

$int_numbers 
= [ 01, -12.7
                                      -
2.723333333
                                            -
23333333"1234" ];

/* creating dumping file */
$data_file __DIR__ '/fprintf05.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

/* binary type variations */
fprintf($fp"<br><br>Testing fprintf() with binary:<br>");
foreach( 
$int_numbers as $bin_num ) {
  
fprintf$fp"\n<br>");
  
fprintf$fp"%b"$bin_num );
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>

  6 EXERCISE   

<?php

$char_variation 
= array( 'a'"a"67, -6799 );

/* creating dumping file */
$data_file __DIR__ '/fprintf06.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

/* char type variations */
fprintf($fp"<br><br>Testing fprintf() for chars:<br>");
foreach( 
$char_variation as $char ) {
  
fprintf$fp"\n<br>");
  
fprintf$fp,"%c"$char );
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>

  7 EXERCISE   

<?php

$int_numbers 
= [ 01, -12.7
                                      -
2.723333333
                                            -
23333333"1234" ];

/* creating dumping file */
$data_file __DIR__ '/fprintf07.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

/* %e type variations */
fprintf($fp"<br><br>Testing fprintf() for scientific type:<br>");
foreach( 
$int_numbers as $num ) {
  
fprintf$fp"\n<br>");
  
fprintf$fp"%e"$num );
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>

  8 EXERCISE   

<?php

$int_numbers 
= array( 01, -12.7
                                               -
2.723333333
                                                     -
23333333"1234" );

/* creating dumping file */
$data_file __DIR__ '/fprintf08.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

/* unsigned int type variation */
fprintf($fp"<br><br>Testing fprintf() for unsigned integers:<br>");
foreach( 
$int_numbers as $unsig_num ) {
  
fprintf$fp"\n<br>");
  
fprintf$fp"%u"$unsig_num );
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>

  9 EXERCISE   

<?php

$int_numbers 
= array( 01, -12.7
                                               -
2.723333333
                                                     -
23333333"1234" );

/* creating dumping file */
$data_file __DIR__ '/fprintf09.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

/* octal type variations */
fprintf($fp"<br><br>Testing fprintf() for octals:<br>");
foreach( 
$int_numbers as $octal_num ) {
 
fprintf$fp"\n<br>");
 
fprintf$fp"%o"$octal_num );
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>

  10 EXERCISE   

<?php

$int_variation 
= [ "%d""%-d""%+d"
                             
"%7.2d""%-7.2d"
                             
"%07.2d""%-07.2d"
                                    
"%'#7.2d" ];
$int_numbers = [ 01, -12.7
                                      -
2.723333333
                                            -
23333333"1234" ];

/* creating dumping file */
$data_file __DIR__ '/fprintf10.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

/* hexadecimal type variations */
fprintf($fp"<br><br>Testing fprintf() for hexadecimals:<br>");
foreach( 
$int_numbers as $hexa_num ) {
 
fprintf$fp"<br>");
 
fprintf$fp"%x"$hexa_num );
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>

  11 EXERCISE   

<?php

$string_variation 
= array( "%5s""%-5s""%05s""%'#5s" );
$strings = array( NULL"abc"'aaa' );

/* creating dumping file */
$data_file __DIR__ '/fprintf11.txt';
if (!(
$fp fopen($data_file'wt')))
   return;

$counter 1;
/* string type variations */
fprintf($fp"<br><br>Testing fprintf() for string types:<br>");
foreach( 
$string_variation as $string_var ) {
  
fprintf$fp"<br><br>Iteration: %d<br>",$counter);
  foreach( 
$strings as $str ) {
    
fprintf$fp"<br>");
    
fprintf$fp$string_var$str );
  }
  
$counter++;
}

fclose($fp);

print_r(file_get_contents($data_file));

unlink($data_file);
// to erase the created $data_file

?>