1--TEST-- 2Test lstat() and stat() functions: usage variations - link names stored in array/object 3--SKIPIF-- 4<?php 5if (PHP_OS_FAMILY === 'Windows') { 6 include_once __DIR__ . '/windows_links/common.inc'; 7 skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(__FILE__); 8} 9?> 10--FILE-- 11<?php 12/* Prototype: array lstat ( string $filename ); 13 Description: Gives information about a file or symbolic link 14 15 Prototype: array stat ( string $filename ); 16 Description: Gives information about a file 17*/ 18 19/* test for stats of link when their names are stored in object and array */ 20 21$file_path = __DIR__; 22require "$file_path/file.inc"; 23 24$fp = fopen("$file_path/lstat_stat_variation20.tmp", "w"); // temp file 25fclose($fp); 26 27// temp link 28symlink("$file_path/lstat_stat_variation20.tmp", "$file_path/lstat_stat_variation20_link.tmp"); 29 30echo "*** Testing lstat() with linkname stored inside an object/array ***\n"; 31class names { 32 public $var_name; 33 public function __construct($name) { 34 $this->var_name = $name; 35 } 36} 37 38// link name stored in an object 39$link_object = new names("$file_path/lstat_stat_variation20_link.tmp"); 40 41// link name stored in side an array 42// with default numeric key 43$link_array = array("$file_path/lstat_stat_variation20_link.tmp"); 44 45// with string key index 46$link_array_with_key = array("linkname" => "$file_path/lstat_stat_variation20_link.tmp"); 47 48echo "\n-- Testing lstat() on link name stored inside an object --\n"; 49var_dump( lstat($link_object->var_name) ); 50 51echo "\n-- Testing stat() on link name stored inside an array --\n"; 52var_dump( stat($link_array[0]) ); // with default numeric index 53var_dump( stat($link_array_with_key["linkname"]) ); // with string key 54var_dump( stat($link_array_with_key['linkname']) ); 55 56echo "\n--- Done ---"; 57?> 58--CLEAN-- 59<?php 60$file_path = __DIR__; 61unlink("$file_path/lstat_stat_variation20_link.tmp"); 62unlink("$file_path/lstat_stat_variation20.tmp"); 63?> 64--EXPECTF-- 65*** Testing lstat() with linkname stored inside an object/array *** 66 67-- Testing lstat() on link name stored inside an object -- 68array(26) { 69 [0]=> 70 int(%i) 71 [1]=> 72 int(%d) 73 [2]=> 74 int(%d) 75 [3]=> 76 int(%d) 77 [4]=> 78 int(%d) 79 [5]=> 80 int(%d) 81 [6]=> 82 int(%d) 83 [7]=> 84 int(%d) 85 [8]=> 86 int(%d) 87 [9]=> 88 int(%d) 89 [10]=> 90 int(%d) 91 [11]=> 92 int(%i) 93 [12]=> 94 int(%i) 95 ["dev"]=> 96 int(%i) 97 ["ino"]=> 98 int(%d) 99 ["mode"]=> 100 int(%d) 101 ["nlink"]=> 102 int(%d) 103 ["uid"]=> 104 int(%d) 105 ["gid"]=> 106 int(%d) 107 ["rdev"]=> 108 int(%d) 109 ["size"]=> 110 int(%d) 111 ["atime"]=> 112 int(%d) 113 ["mtime"]=> 114 int(%d) 115 ["ctime"]=> 116 int(%d) 117 ["blksize"]=> 118 int(%i) 119 ["blocks"]=> 120 int(%i) 121} 122 123-- Testing stat() on link name stored inside an array -- 124array(26) { 125 [0]=> 126 int(%i) 127 [1]=> 128 int(%d) 129 [2]=> 130 int(%d) 131 [3]=> 132 int(%d) 133 [4]=> 134 int(%d) 135 [5]=> 136 int(%d) 137 [6]=> 138 int(%d) 139 [7]=> 140 int(%d) 141 [8]=> 142 int(%d) 143 [9]=> 144 int(%d) 145 [10]=> 146 int(%d) 147 [11]=> 148 int(%i) 149 [12]=> 150 int(%i) 151 ["dev"]=> 152 int(%i) 153 ["ino"]=> 154 int(%d) 155 ["mode"]=> 156 int(%d) 157 ["nlink"]=> 158 int(%d) 159 ["uid"]=> 160 int(%d) 161 ["gid"]=> 162 int(%d) 163 ["rdev"]=> 164 int(%d) 165 ["size"]=> 166 int(%d) 167 ["atime"]=> 168 int(%d) 169 ["mtime"]=> 170 int(%d) 171 ["ctime"]=> 172 int(%d) 173 ["blksize"]=> 174 int(%i) 175 ["blocks"]=> 176 int(%i) 177} 178array(26) { 179 [0]=> 180 int(%i) 181 [1]=> 182 int(%d) 183 [2]=> 184 int(%d) 185 [3]=> 186 int(%d) 187 [4]=> 188 int(%d) 189 [5]=> 190 int(%d) 191 [6]=> 192 int(%d) 193 [7]=> 194 int(%d) 195 [8]=> 196 int(%d) 197 [9]=> 198 int(%d) 199 [10]=> 200 int(%d) 201 [11]=> 202 int(%i) 203 [12]=> 204 int(%i) 205 ["dev"]=> 206 int(%i) 207 ["ino"]=> 208 int(%d) 209 ["mode"]=> 210 int(%d) 211 ["nlink"]=> 212 int(%d) 213 ["uid"]=> 214 int(%d) 215 ["gid"]=> 216 int(%d) 217 ["rdev"]=> 218 int(%d) 219 ["size"]=> 220 int(%d) 221 ["atime"]=> 222 int(%d) 223 ["mtime"]=> 224 int(%d) 225 ["ctime"]=> 226 int(%d) 227 ["blksize"]=> 228 int(%i) 229 ["blocks"]=> 230 int(%i) 231} 232array(26) { 233 [0]=> 234 int(%i) 235 [1]=> 236 int(%d) 237 [2]=> 238 int(%d) 239 [3]=> 240 int(%d) 241 [4]=> 242 int(%d) 243 [5]=> 244 int(%d) 245 [6]=> 246 int(%d) 247 [7]=> 248 int(%d) 249 [8]=> 250 int(%d) 251 [9]=> 252 int(%d) 253 [10]=> 254 int(%d) 255 [11]=> 256 int(%i) 257 [12]=> 258 int(%i) 259 ["dev"]=> 260 int(%i) 261 ["ino"]=> 262 int(%d) 263 ["mode"]=> 264 int(%d) 265 ["nlink"]=> 266 int(%d) 267 ["uid"]=> 268 int(%d) 269 ["gid"]=> 270 int(%d) 271 ["rdev"]=> 272 int(%d) 273 ["size"]=> 274 int(%d) 275 ["atime"]=> 276 int(%d) 277 ["mtime"]=> 278 int(%d) 279 ["ctime"]=> 280 int(%d) 281 ["blksize"]=> 282 int(%i) 283 ["blocks"]=> 284 int(%i) 285} 286 287--- Done --- 288