[PHP] Directory leeg gooien

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wordt er helemaal "gaar" van.
Ik ben nu al een hele ijd bezig met een emptyDir() functie, maar steeds kom ik een bug tegen.

Het enige dat hij moet doen is een directory (die in $this->directory staat) HELEMAAL leeg gooien (dus ook sub directories), alleen nu gooit hij soms wel soms niet die sub dir weg.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    function emptyDir($dir = '')
    {
        if ($dir != '')
        {
            $dir = $dir;
        }
         else
        {
             $dir = $this->directory;
        }
        $dh = opendir ($dir);
        while (gettype ($file = readdir ($dh)) != boolean)
        {
            if (!is_dir($dir . "/" . $file))
            {
                unlink ($dir . "/" . $file);
            } 
             else
            {
                if ($file != "." && $file != "..")
                {
                    $this->emptyDir ($dir . "/" .$file);
                }
                 else
                {
                     if ($dir != $this->directory)
                    {
                         @rmdir ($dir);
                    }
                }
            }
        }
        closedir ($dh);
    }


Kan iemand eens kijken of er een betere aan pak is dan deze? Want zoals al gezegd wordt ik hier redelijk gaar van :P

Acties:
  • 0 Henk 'm!

Verwijderd

Die else staat verkeer, nieuw stukje code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?
    function emptyDir($dir = '') 
    { 
        if ($dir == '') 
        { 
             $dir = $this->directory; 
        } 
        $dh = opendir ($dir); 
        while (gettype ($file = readdir ($dh)) != boolean) 
        { 
            if (!is_dir($dir . "/" . $file)) 
            { 
                unlink ($dir . "/" . $file); 
            } 
             else 
            { 
                if ($file != "." && $file != "..") 
                { 
                    $this->emptyDir ($dir . "/" .$file); 
                    @rmdir ($dir."/".$file); 
                } 
            } 
        } 
        closedir ($dh); 
    }
?> 

[ Voor 15% gewijzigd door Verwijderd op 07-10-2003 14:55 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
danke danke ik zal eens kijken of ik die code snap