Rev 37 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7 | ls | 1 | <?php |
2 | # ============================================================================= |
||
3 | # Create |
||
4 | # name : Andre Rikkert de Koe date: apr 2011 |
||
5 | # descr : filefind |
||
6 | # This is a demo of programming in the PHP language (CLI). |
||
7 | # Its part of a project to implement a program to create a directory |
||
8 | # tree similar to the output of the Unix find program. |
||
9 | # EUID : Any user who has read access to all the files being searched for. |
||
10 | # run : interactive |
||
11 | # |
||
12 | # Changes |
||
13 | # name : date: |
||
14 | # descr : short description |
||
15 | # |
||
16 | # ============================================================================= |
||
17 | |||
18 | # ============================================================================= |
||
19 | # Functions |
||
20 | # ============================================================================= |
||
21 | |||
22 | function Usage($mesg, $progname) |
||
23 | { |
||
24 | echo "Usage : $progname\n"; |
||
25 | echo "$mesg\n"; |
||
26 | } |
||
27 | |||
28 | function traverse($dir) |
||
29 | { |
||
30 | $curdir = getcwd(); |
||
31 | chdir($dir); |
||
32 | $curdir2 = getcwd(); |
||
33 | $myDirectory = opendir("."); |
||
34 | # http://php.net/manual/fr/function.readdir.php |
||
35 | while (false !== ($file = readdir($myDirectory))) |
||
36 | { |
||
37 | $pfile = $curdir2 . "/" . $file; |
||
38 | if (is_dir($file) && !is_link($file)) |
||
39 | { |
||
40 | if ($file != ".." && $file != ".") |
||
41 | { |
||
42 | echo "$pfile\n"; |
||
43 | traverse($file); |
||
44 | } |
||
45 | } |
||
46 | else |
||
47 | { |
||
48 | if (is_file($file) || is_link($file)) |
||
49 | echo "$pfile\n"; |
||
50 | else |
||
51 | echo "WARNING: Could not process file $pfile\n"; |
||
52 | } |
||
53 | } |
||
54 | chdir($curdir); |
||
55 | |||
56 | } |
||
57 | |||
58 | function start_traverse($directory) |
||
59 | { |
||
60 | echo "$directory\n"; |
||
61 | traverse($directory); |
||
62 | } |
||
63 | |||
64 | # ============================================================================= |
||
65 | # MAIN |
||
66 | # ============================================================================= |
||
67 | |||
68 | $progname = $argv[0]; |
||
69 | |||
70 | if ( $argc == 2 ) |
||
71 | { |
||
72 | $directory = $argv[1]; |
||
73 | if (is_dir($directory)) |
||
74 | start_traverse($directory); |
||
75 | else |
||
76 | Usage($progname, "ERROR: No directory $directory found"); |
||
77 | } |
||
78 | else |
||
79 | Usage($progname, "ERROR: 1 argument expected"); |
||
80 | |||
81 | ?> |