1--TEST--
2Test fscanf() function: usage variations - empty file
3--FILE--
4<?php
5
6/* Test fscanf() to scan an empty file */
7
8$file_path = __DIR__;
9
10echo "*** Test fscanf(): to read an empty file ***\n";
11
12// various formats
13$formats = array( "%d", "%f", "%e", "%u", " %s", "%x", "%o");
14
15$counter = 1;
16
17// various read modes
18$modes = array("r", "rb", "rt", "r+", "r+b", "r+t",
19               "w+", "w+b", "w+t",
20               "a+", "a+b", "a+t"
21         );
22
23$counter = 1;
24// reading the values from file using different integer formats
25foreach($modes as $mode) {
26
27  // create an empty file
28  $filename = "$file_path/fscanf_variation52.tmp";
29  $file_handle = fopen($filename, "w");
30  if($file_handle == false)
31    exit("Error:failed to open file $filename");
32  //closing the file
33  fclose($file_handle);
34
35  // opening file in $mode mode
36  $file_handle = fopen($filename, $mode);
37  if($file_handle == false) {
38    exit("Error:failed to open file $filename");
39  }
40  echo "\n-- iteration $counter --\n";
41
42  foreach($formats as $format) {
43    var_dump( fscanf($file_handle,$format) );
44    rewind($file_handle);
45  }
46  $counter++;
47  fclose($file_handle);
48  unlink($filename);
49}
50
51echo "\n*** Done ***";
52?>
53--CLEAN--
54<?php
55$file_path = __DIR__;
56$filename = "$file_path/fscanf_variation52.tmp";
57if(file_exists($filename)) {
58  unlink($filename);
59}
60?>
61--EXPECT--
62*** Test fscanf(): to read an empty file ***
63
64-- iteration 1 --
65bool(false)
66bool(false)
67bool(false)
68bool(false)
69bool(false)
70bool(false)
71bool(false)
72
73-- iteration 2 --
74bool(false)
75bool(false)
76bool(false)
77bool(false)
78bool(false)
79bool(false)
80bool(false)
81
82-- iteration 3 --
83bool(false)
84bool(false)
85bool(false)
86bool(false)
87bool(false)
88bool(false)
89bool(false)
90
91-- iteration 4 --
92bool(false)
93bool(false)
94bool(false)
95bool(false)
96bool(false)
97bool(false)
98bool(false)
99
100-- iteration 5 --
101bool(false)
102bool(false)
103bool(false)
104bool(false)
105bool(false)
106bool(false)
107bool(false)
108
109-- iteration 6 --
110bool(false)
111bool(false)
112bool(false)
113bool(false)
114bool(false)
115bool(false)
116bool(false)
117
118-- iteration 7 --
119bool(false)
120bool(false)
121bool(false)
122bool(false)
123bool(false)
124bool(false)
125bool(false)
126
127-- iteration 8 --
128bool(false)
129bool(false)
130bool(false)
131bool(false)
132bool(false)
133bool(false)
134bool(false)
135
136-- iteration 9 --
137bool(false)
138bool(false)
139bool(false)
140bool(false)
141bool(false)
142bool(false)
143bool(false)
144
145-- iteration 10 --
146bool(false)
147bool(false)
148bool(false)
149bool(false)
150bool(false)
151bool(false)
152bool(false)
153
154-- iteration 11 --
155bool(false)
156bool(false)
157bool(false)
158bool(false)
159bool(false)
160bool(false)
161bool(false)
162
163-- iteration 12 --
164bool(false)
165bool(false)
166bool(false)
167bool(false)
168bool(false)
169bool(false)
170bool(false)
171
172*** Done ***
173