1--TEST-- 2Test stat() functions: usage variations - effects of is_dir() & is_file() 3--SKIPIF-- 4<?php 5if (substr(PHP_OS, 0, 3) != 'WIN') { 6 die('skip.. only for Windows'); 7} 8?> 9--FILE-- 10<?php 11 12/* 13 * Prototype: array stat ( string $filename ); 14 * Description: Gives information about a file 15 */ 16 17/* test the effects on the stats of dir/file for using is_dir() & is_file() on dir/file */ 18 19$file_path = __DIR__; 20require "$file_path/file.inc"; 21 22 23/* create temp file and directory */ 24mkdir("$file_path/stat_variation4/"); // temp dir 25 26$file_handle = fopen("$file_path/stat_variation4.tmp", "w"); // temp file 27fclose($file_handle); 28 29 30echo "\n*** Testing stat(): on file and directory after accessing it 31 with is_dir() and is_file() functions ***\n"; 32 33// is_dir() on a directory 34echo "-- Testing on Directory --\n"; 35$old_dirname = "$file_path/stat_variation4"; 36$old_stat = stat($old_dirname); 37// clear the cache 38clearstatcache(); 39sleep(2); 40var_dump( is_dir($old_dirname) ); 41$new_stat = stat($old_dirname); 42 43// compare self stats 44var_dump( compare_self_stat($old_stat) ); 45var_dump( compare_self_stat($new_stat) ); 46// compare the stat 47var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys, "==") ); 48// clear the stat 49clearstatcache(); 50 51 52// is_file() on a file 53echo "-- Testing on file --\n"; 54$old_filename = "$file_path/stat_variation4.tmp"; 55$old_stat = stat($old_filename); 56// clear the stat 57clearstatcache(); 58sleep(2); 59var_dump( is_file($old_filename) ); 60$new_stat = stat($old_filename); 61// compare self stats 62var_dump( compare_self_stat($old_stat) ); 63var_dump( compare_self_stat($new_stat) ); 64// compare the stat 65var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys, "==") ); 66// clear the stat 67clearstatcache(); 68 69echo "\n*** Done ***"; 70?> 71--CLEAN-- 72<?php 73$file_path = __DIR__; 74unlink("$file_path/stat_variation4.tmp"); 75rmdir("$file_path/stat_variation4"); 76?> 77--EXPECT-- 78*** Testing stat(): on file and directory after accessing it 79 with is_dir() and is_file() functions *** 80-- Testing on Directory -- 81bool(true) 82bool(true) 83bool(true) 84bool(true) 85-- Testing on file -- 86bool(true) 87bool(true) 88bool(true) 89bool(true) 90 91*** Done *** 92