Annotation of embedaddon/php/ext/standard/tests/file/fwrite_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fwrite() function : usage variations - a, ab, at, a+, a+b & a+t modes
3: --SKIPIF--
4: <?php
5: if( substr(PHP_OS, 0, 3) == 'WIN' ) {
6: die('skip...Not valid for Windows');
7: }
8: ?>
9: --FILE--
10: <?php
11: /*
12: Prototype: int fwrite ( resource $handle,string string, [, int $length] );
13: Description: fwrite() writes the contents of string to the file stream pointed to by handle.
14: If the length arquement is given,writing will stop after length bytes have been
15: written or the end of string reached, whichever comes first.
16: fwrite() returns the number of bytes written or FALSE on error
17: */
18:
19:
20: echo "*** Testing fwrite() various operations ***\n";
21:
22: // include the file.inc for Function: function delete_file($filename)
23: include ("file.inc");
24:
25: /*
26: Test fwrite with file opened in mode : a,ab,at,a+,a+b,a+t
27: File having content of type numeric, text,text_with_new_line & alphanumeric
28: */
29:
30: $file_modes = array("a","ab","at","a+","a+b","a+t");
31: $file_content_types = array("numeric","text","text_with_new_line","alphanumeric");
32:
33:
34: foreach($file_content_types as $file_content_type) {
35: echo "\n-- Testing fwrite() with file having content of type ". $file_content_type ." --\n";
36:
37: /* open the file using $files_modes and perform fwrite() on it */
38: foreach($file_modes as $file_mode) {
39: echo "-- Opening file in $file_mode --\n";
40:
41: // create temp file and fill it content of type $file_content_type
42: $filename = dirname(__FILE__)."/fwrite_variation3.tmp"; // this is name of the file
43: create_files ( dirname(__FILE__), 1, $file_content_type, 0755, 1, "w", "fwrite_variation", 3);
44:
45: $file_handle = fopen($filename, $file_mode);
46: if(!$file_handle) {
47: echo "Error: failed to fopen() file: $filename!";
48: exit();
49: }
50:
51: $data_to_be_written="";
52: fill_buffer($data_to_be_written,$file_content_type,1024); //get the data of size 1024
53:
54: /* Write the data into the file, verify it by checking the file pointer position, eof position,
55: filesize & by displaying the content */
56:
57: // append the data to the file, starting from current position of the file pointer
58: var_dump( ftell($file_handle) ); // expected: 1024
59: var_dump( fwrite($file_handle,$data_to_be_written,400) );
60: var_dump( ftell($file_handle) ); // expected: 1024 + 400
61: var_dump( feof($file_handle) ); // expected : true
62:
63: /*overwrite data in middle of the file*/
64: fseek($file_handle, SEEK_SET, (1024 + 400)/2 );
65: var_dump( ftell($file_handle)); // expected: (1024 + 400)/2
66: var_dump( fwrite($file_handle, $data_to_be_written, 200) );
67: var_dump( ftell($file_handle) );
68: var_dump( feof($file_handle) ); //Expecting bool(false)
69:
70: /* check the filesize and display file content */
71: // close the file, get the size and content of the file.
72: var_dump( fclose($file_handle) );
73: clearstatcache();//clears file status cache
74: var_dump( filesize($filename) );
75: var_dump(md5(file_get_contents($filename)));
76: // delete the file created
77: delete_file($filename); // delete file with name fwrite_variation3.tmp
78: } // end of inner foreach loop
79: } // end of outer foreach loop
80:
81: echo "Done\n";
82: ?>
83: --EXPECTF--
84: *** Testing fwrite() various operations ***
85:
86: -- Testing fwrite() with file having content of type numeric --
87: -- Opening file in a --
88: int(0)
89: int(400)
90: int(400)
91: bool(false)
92: int(400)
93: int(200)
94: int(600)
95: bool(false)
96: bool(true)
97: int(1624)
98: string(32) "59ce5bf03b69069d00d6354bdc969ff6"
99: -- Opening file in ab --
100: int(0)
101: int(400)
102: int(400)
103: bool(false)
104: int(400)
105: int(200)
106: int(600)
107: bool(false)
108: bool(true)
109: int(1624)
110: string(32) "59ce5bf03b69069d00d6354bdc969ff6"
111: -- Opening file in at --
112: int(0)
113: int(400)
114: int(400)
115: bool(false)
116: int(400)
117: int(200)
118: int(600)
119: bool(false)
120: bool(true)
121: int(1624)
122: string(32) "59ce5bf03b69069d00d6354bdc969ff6"
123: -- Opening file in a+ --
124: int(0)
125: int(400)
126: int(400)
127: bool(false)
128: int(400)
129: int(200)
130: int(600)
131: bool(false)
132: bool(true)
133: int(1624)
134: string(32) "59ce5bf03b69069d00d6354bdc969ff6"
135: -- Opening file in a+b --
136: int(0)
137: int(400)
138: int(400)
139: bool(false)
140: int(400)
141: int(200)
142: int(600)
143: bool(false)
144: bool(true)
145: int(1624)
146: string(32) "59ce5bf03b69069d00d6354bdc969ff6"
147: -- Opening file in a+t --
148: int(0)
149: int(400)
150: int(400)
151: bool(false)
152: int(400)
153: int(200)
154: int(600)
155: bool(false)
156: bool(true)
157: int(1624)
158: string(32) "59ce5bf03b69069d00d6354bdc969ff6"
159:
160: -- Testing fwrite() with file having content of type text --
161: -- Opening file in a --
162: int(0)
163: int(400)
164: int(400)
165: bool(false)
166: int(400)
167: int(200)
168: int(600)
169: bool(false)
170: bool(true)
171: int(1624)
172: string(32) "dbd9dffd809d82e299bc1e5c55087f3b"
173: -- Opening file in ab --
174: int(0)
175: int(400)
176: int(400)
177: bool(false)
178: int(400)
179: int(200)
180: int(600)
181: bool(false)
182: bool(true)
183: int(1624)
184: string(32) "dbd9dffd809d82e299bc1e5c55087f3b"
185: -- Opening file in at --
186: int(0)
187: int(400)
188: int(400)
189: bool(false)
190: int(400)
191: int(200)
192: int(600)
193: bool(false)
194: bool(true)
195: int(1624)
196: string(32) "dbd9dffd809d82e299bc1e5c55087f3b"
197: -- Opening file in a+ --
198: int(0)
199: int(400)
200: int(400)
201: bool(false)
202: int(400)
203: int(200)
204: int(600)
205: bool(false)
206: bool(true)
207: int(1624)
208: string(32) "dbd9dffd809d82e299bc1e5c55087f3b"
209: -- Opening file in a+b --
210: int(0)
211: int(400)
212: int(400)
213: bool(false)
214: int(400)
215: int(200)
216: int(600)
217: bool(false)
218: bool(true)
219: int(1624)
220: string(32) "dbd9dffd809d82e299bc1e5c55087f3b"
221: -- Opening file in a+t --
222: int(0)
223: int(400)
224: int(400)
225: bool(false)
226: int(400)
227: int(200)
228: int(600)
229: bool(false)
230: bool(true)
231: int(1624)
232: string(32) "dbd9dffd809d82e299bc1e5c55087f3b"
233:
234: -- Testing fwrite() with file having content of type text_with_new_line --
235: -- Opening file in a --
236: int(0)
237: int(400)
238: int(400)
239: bool(false)
240: int(400)
241: int(200)
242: int(600)
243: bool(false)
244: bool(true)
245: int(1624)
246: string(32) "3f0a483fe8a2f405677844e0b1af6cf4"
247: -- Opening file in ab --
248: int(0)
249: int(400)
250: int(400)
251: bool(false)
252: int(400)
253: int(200)
254: int(600)
255: bool(false)
256: bool(true)
257: int(1624)
258: string(32) "3f0a483fe8a2f405677844e0b1af6cf4"
259: -- Opening file in at --
260: int(0)
261: int(400)
262: int(400)
263: bool(false)
264: int(400)
265: int(200)
266: int(600)
267: bool(false)
268: bool(true)
269: int(1624)
270: string(32) "3f0a483fe8a2f405677844e0b1af6cf4"
271: -- Opening file in a+ --
272: int(0)
273: int(400)
274: int(400)
275: bool(false)
276: int(400)
277: int(200)
278: int(600)
279: bool(false)
280: bool(true)
281: int(1624)
282: string(32) "3f0a483fe8a2f405677844e0b1af6cf4"
283: -- Opening file in a+b --
284: int(0)
285: int(400)
286: int(400)
287: bool(false)
288: int(400)
289: int(200)
290: int(600)
291: bool(false)
292: bool(true)
293: int(1624)
294: string(32) "3f0a483fe8a2f405677844e0b1af6cf4"
295: -- Opening file in a+t --
296: int(0)
297: int(400)
298: int(400)
299: bool(false)
300: int(400)
301: int(200)
302: int(600)
303: bool(false)
304: bool(true)
305: int(1624)
306: string(32) "3f0a483fe8a2f405677844e0b1af6cf4"
307:
308: -- Testing fwrite() with file having content of type alphanumeric --
309: -- Opening file in a --
310: int(0)
311: int(400)
312: int(400)
313: bool(false)
314: int(400)
315: int(200)
316: int(600)
317: bool(false)
318: bool(true)
319: int(1624)
320: string(32) "ea0c0bfa0b10aa8e614fd33ffe295cb9"
321: -- Opening file in ab --
322: int(0)
323: int(400)
324: int(400)
325: bool(false)
326: int(400)
327: int(200)
328: int(600)
329: bool(false)
330: bool(true)
331: int(1624)
332: string(32) "ea0c0bfa0b10aa8e614fd33ffe295cb9"
333: -- Opening file in at --
334: int(0)
335: int(400)
336: int(400)
337: bool(false)
338: int(400)
339: int(200)
340: int(600)
341: bool(false)
342: bool(true)
343: int(1624)
344: string(32) "ea0c0bfa0b10aa8e614fd33ffe295cb9"
345: -- Opening file in a+ --
346: int(0)
347: int(400)
348: int(400)
349: bool(false)
350: int(400)
351: int(200)
352: int(600)
353: bool(false)
354: bool(true)
355: int(1624)
356: string(32) "ea0c0bfa0b10aa8e614fd33ffe295cb9"
357: -- Opening file in a+b --
358: int(0)
359: int(400)
360: int(400)
361: bool(false)
362: int(400)
363: int(200)
364: int(600)
365: bool(false)
366: bool(true)
367: int(1624)
368: string(32) "ea0c0bfa0b10aa8e614fd33ffe295cb9"
369: -- Opening file in a+t --
370: int(0)
371: int(400)
372: int(400)
373: bool(false)
374: int(400)
375: int(200)
376: int(600)
377: bool(false)
378: bool(true)
379: int(1624)
380: string(32) "ea0c0bfa0b10aa8e614fd33ffe295cb9"
381: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>