1--TEST--
2Test is_dir() function: usage variations - diff. path notations
3--FILE--
4<?php
5/* Prototype: bool is_dir ( string $dirname );
6   Description: Tells whether the dirname is a directory
7     Returns TRUE if the dirname exists and is a directory, FALSE  otherwise.
8*/
9
10/* Passing dir names with different notations, using slashes, wild-card chars */
11
12$file_path = dirname(__FILE__);
13
14echo "*** Testing is_dir() with different notations of dir names ***";
15$dir_name = "/is_dir_variation4";
16mkdir($file_path.$dir_name);
17
18$dirs_arr = array(
19  "is_dir_variation4",
20  "./is_dir_variation4",
21
22  /* Testing a file trailing slash */
23  "is_dir_variation4/",
24  "./is_dir_variation4/",
25
26  /* Testing file with double trailing slashes */
27  "is_dir_variation4//",
28  "./is_dir_variation4//",
29  ".//is_dir_variation4//",
30  "is_dir_vari*",
31
32  /* Testing Binary safe */
33  "./is_dir_variation4/".chr(0),
34  "is_dir_variation4\0"
35);
36
37$count = 1;
38/* loop through to test each element the above array */
39foreach($dirs_arr as $dir) {
40  echo "\n-- Iteration $count --\n";
41  var_dump( is_dir($file_path."/".$dir ) );
42  $count++;
43}
44
45echo "\n*** Done ***";
46?>
47--CLEAN--
48<?php
49$file_path = dirname(__FILE__);
50$dir_name = $file_path."/is_dir_variation4";
51rmdir($dir_name);
52?>
53--EXPECTF--
54*** Testing is_dir() with different notations of dir names ***
55-- Iteration 1 --
56bool(true)
57
58-- Iteration 2 --
59bool(true)
60
61-- Iteration 3 --
62bool(true)
63
64-- Iteration 4 --
65bool(true)
66
67-- Iteration 5 --
68bool(true)
69
70-- Iteration 6 --
71bool(true)
72
73-- Iteration 7 --
74bool(true)
75
76-- Iteration 8 --
77bool(false)
78
79-- Iteration 9 --
80
81Warning: is_dir() expects parameter 1 to be a valid path, string given in %s on line %d
82NULL
83
84-- Iteration 10 --
85
86Warning: is_dir() expects parameter 1 to be a valid path, string given in %s on line %d
87NULL
88
89*** Done ***
90