| 1 |
lars |
1 |
--TEST--
|
|
|
2 |
File_Find::test 'shell' mode patterns
|
|
|
3 |
--SKIPIF--
|
|
|
4 |
<?php
|
|
|
5 |
include(dirname(__FILE__).'/setup.php');
|
|
|
6 |
print $status;
|
|
|
7 |
?>
|
|
|
8 |
--FILE--
|
|
|
9 |
<?php
|
|
|
10 |
require_once(dirname(__FILE__).'/setup.php');
|
|
|
11 |
|
|
|
12 |
// *.php -> .*\.php$
|
|
|
13 |
$result[0] = &File_Find::search('*.*', 'File_Find/dir/', 'shell', false);
|
|
|
14 |
$result[1] = &File_Find::search('*.bak', 'File_Find/dir/', 'shell', false);
|
|
|
15 |
$result[2] = &File_Find::search('*3*', 'File_Find/', 'shell', false, 'both');
|
|
|
16 |
$result[3] = &File_Find::glob('', 'File_Find/dir', 'shell');
|
|
|
17 |
|
|
|
18 |
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
|
|
|
19 |
foreach($result as $k => $r) {
|
|
|
20 |
$result[$k] = str_replace("\\", '/', $result[$k]);
|
|
|
21 |
}
|
|
|
22 |
}
|
|
|
23 |
|
|
|
24 |
print_r($result[0]);
|
|
|
25 |
print_r($result[1]);
|
|
|
26 |
print_r($result[2]);
|
|
|
27 |
print_r($result[3]);
|
|
|
28 |
|
|
|
29 |
$tcases[] = array("*scope", "msscope");
|
|
|
30 |
$tcases[] = array("some*", "something");
|
|
|
31 |
$tcases[] = array("some*", "some");
|
|
|
32 |
$tcases[] = array("some", "something.wrong");
|
|
|
33 |
$tcases[] = array("*som?e*", "som_exx.dll");
|
|
|
34 |
$tcases[] = array("*.dll", "som_exx.dll");
|
|
|
35 |
$tcases[] = array("*.dll", "som_exx.dll.bak");
|
|
|
36 |
$tcases[] = array("*.", "som_exx.dll.bak");
|
|
|
37 |
$tcases[] = array("*.", "som_exx");
|
|
|
38 |
$tcases[] = array("*.", ".exx");
|
|
|
39 |
$tcases[] = array("some file.xml.*", "some file.xml");
|
|
|
40 |
$tcases[] = array("some file.*", "some file");
|
|
|
41 |
$tcases[] = array("some.*", "some.xml");
|
|
|
42 |
$tcases[] = array("some.*", "somexml");
|
|
|
43 |
|
|
|
44 |
foreach($tcases as $tc) {
|
|
|
45 |
list($tm, $tf) = $tc;
|
|
|
46 |
echo ( File_Find_match_shell($tm, $tf) ) ? "TRUE " : "FALSE ";
|
|
|
47 |
echo "$tm \t$tf\n";
|
|
|
48 |
}
|
|
|
49 |
|
|
|
50 |
?>
|
|
|
51 |
--GET--
|
|
|
52 |
--POST--
|
|
|
53 |
--EXPECT--
|
|
|
54 |
Array
|
|
|
55 |
(
|
|
|
56 |
[0] => File_Find/dir/1.txt
|
|
|
57 |
[1] => File_Find/dir/2.txt
|
|
|
58 |
[2] => File_Find/dir/dir2/3.bak
|
|
|
59 |
[3] => File_Find/dir/dir2/3.txt
|
|
|
60 |
[4] => File_Find/dir/dir3/4.bak
|
|
|
61 |
[5] => File_Find/dir/dir3/4.txt
|
|
|
62 |
[6] => File_Find/dir/txtdir/5.txt
|
|
|
63 |
)
|
|
|
64 |
Array
|
|
|
65 |
(
|
|
|
66 |
[0] => File_Find/dir/dir2/3.bak
|
|
|
67 |
[1] => File_Find/dir/dir3/4.bak
|
|
|
68 |
)
|
|
|
69 |
Array
|
|
|
70 |
(
|
|
|
71 |
[0] => File_Find/dir/dir2/3.bak
|
|
|
72 |
[1] => File_Find/dir/dir2/3.txt
|
|
|
73 |
[2] => File_Find/dir/dir3
|
|
|
74 |
)
|
|
|
75 |
Array
|
|
|
76 |
(
|
|
|
77 |
[0] => 1.txt
|
|
|
78 |
[1] => 2.txt
|
|
|
79 |
[2] => dir2
|
|
|
80 |
[3] => dir3
|
|
|
81 |
[4] => txtdir
|
|
|
82 |
)
|
|
|
83 |
TRUE *scope msscope
|
|
|
84 |
TRUE some* something
|
|
|
85 |
TRUE some* some
|
|
|
86 |
TRUE some something.wrong
|
|
|
87 |
TRUE *som?e* som_exx.dll
|
|
|
88 |
TRUE *.dll som_exx.dll
|
|
|
89 |
FALSE *.dll som_exx.dll.bak
|
|
|
90 |
FALSE *. som_exx.dll.bak
|
|
|
91 |
TRUE *. som_exx
|
|
|
92 |
FALSE *. .exx
|
|
|
93 |
TRUE some file.xml.* some file.xml
|
|
|
94 |
TRUE some file.* some file
|
|
|
95 |
TRUE some.* some.xml
|
|
|
96 |
FALSE some.* somexml
|