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