upload-class

Gesponsorde koppelingen

PHP script bestanden

  1. upload-class

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<?php

/********************
     CLASS UPLOAD
*********************/

class upload {
    
    // Zet variablen vast
    var $maxkb = "2000"; // Het maximum aantal kilobytes dat het bestand mag bevatten
    var $directory = "uploads/"; // De map waar bestanden naar worden geupload
    var $extensies = ".jpg|.bmp|.gif|.png|.ico"; // De toegelaten extensies, met punt erbij en gescheiden door een pipe (|), star (*) om alles toe te laten
    
    // functie changename, zal de naam veranderen als de naam van het bestand al bestaat

    function changename($bestand) {
        // De naam veranderen
        if(file_exists($this->directory.$bestand)) { // als het bestand bestaat
            $bestand2=$bestand; // een extra backup maken
            $i=0; // geef dan een teller
            while(file_exists($this->directory.$bestand)) { // zolang er geen goede naam is gevonden
                $bestand=$i." ".$bestand2; // geef het bestand een nieuwe naam
                $i++; // de teller updaten, anders krijgen we iets on-eind-igs.
            }
            return $bestand; // geef het resultaat door
        }
        else { // als er nog geen bestand met die naam bestaat
            return $bestand; // geef dan de originele naam weer
        }
    }

    
    // functie upload, load alle bestanden op
    function fileupload($bestand,$locatie) {
        if(is_uploaded_file($bestand['tmp_name'])) { // Is het bestand upgeload ?
            if(move_uploaded_file($bestand['tmp_name'],$this->directory.$locatie."/".$this->changename($bestand['name']))) { // Is het bestand verplaatst ?
                return true; // Geef true weer, het bestand is verplaatst
            }
            else {
                return false; // Geef false weer, het bestand is niet verplaatst
            }
        }

        else {
            return false; // Geef false weer, het bestand is niet upgeload
        }
    }

    
    // functie k(ilo)b(ytes)to( )b(ytes), zet megabytes om in bytes
    function kbtob($waarde) {
        $bytes = $waarde*1024; // zet om in kilobytes
        $bytes = ceil($bytes);
        return $bytes; // geef de afgeronde waarde weer
    }
    
    // functie checksize, controleer de grootte van het bestand
    function checksize($bestand) {
        if($bestand['size'] < $this->kbtob($this->maxkb)) { // Als het bestand kleiner is dan de maximum grootte
            return true; // Geef dan true weer
        }
        else { // en anders
            return false; // Geef false weer
        }
    }

    
    // functie checkext, controleer de extesie van het bestand
    function checkext($bestand) {
        if($this->extensies == "*") { // als alles is toegelaten
            return true; // geef dan true weer
        }
        else { // als niet alles is toegelaten
            if(eregi("((".$this->extensies.")$)",strtolower($bestand['name']))) { // als de extensie overeenkomt met de opgegeven mogelijkheden
                return true; // geef dan true weer
            }
            else { // Komt de opgegeven extensie niet overeen
                return false; // Geef dan false weer
            }
        }
    }

        
    // functie loadup, main functie, laad alles mooi op in de map
    function loadup($bestand,$locatie) {
        if($this->checksize($bestand) == true) { // controleer de grootte van het bestand
            if($this->checkext($bestand) == true) { // controleer de extensie van het bestand
                if($this->fileupload($bestand,$locatie) == true) {
                    echo "Het bestand ".$bestand['name']." is succesvol upgeload.<br>";
                }

                else {
                    echo "Het bestand ".$bestand['name']." is niet correct upgeload.<br>";
                }
            }

            else { // De extensie is niet correct
                echo "Het type bestand dat je probeerde op te loaden is niet toegelaten. (".$bestand['name'].")<br>"; // Geef een error
            }
        }

        else { // Het bestand is te groot
            echo "Het bestand dat je probeerde op te loaden is te groot.(".$bestand['name'].")<br>"; // Geef error
        }
    }
    
}





/********************
  CLASS dirandfiles
*********************/


class dirandfiles extends upload {
    // function replace - Verplaats bestand (of - rename bestand)
    function replace($oudenaam, $nieuwenaam) {
        if(file_exists($this->directory.$oudenaam)) { // als de oude naam bestaat, ga door
            if(!file_exists($this->directory.$nieuwenaam)) { // als de nieuwe naam nog niet bestaat, ga door
                if(copy($this->directory.$oudenaam,$this->directory.$nieuwenaam)) { // als het succesvol is gecopieerd
                    unlink($this->directory.$oudenaam); // verwijder dan de nieuwe naam
                }
                else { // als het niet opnieuw is genaamt
                    return false; // geef dan false weer
                }
            }

            else { // als de nieuwe naam al bestaat
                return false; // geef dan false weer
            }
        }

        else { // als de oude map niet bestaat
            return false; // geef dan false weer
        }
    }

    
    // function rename_dir - geef een map een nieuwe naam
    function rename_dir($oudenaam, $nieuwenaam, $locatie) {
        if(is_dir($this->directory.$locatie.$oudenaam)) { // als de oude naam bestaat
            if(!is_dir($this->directory.$locatie.$nieuwenaam)) { // als de nieuwe naam nog niet bestaat
                if(rename($this->directory.$locatie.$oudenaam, $this->directory.$locatie.$nieuwenaam)) { // geef de map een nieuwe naam
                    return true; // geef dan true weer
                }
                else { // als de map niet is gerenamed
                    return false; // geef dan false weer
                }
            }

            else { // als de nieuwe map al bestaat
                return false; // geef dan false weer
            }
        }

        else { // als de oude naam niet bestaat
            return false; // geef dan false weer.
        }
    }

    
    // create_dir - maak een map aan in een map
    function create_dir($naam,$locatie) {
        if(!is_dir($naam)) { // als de map nog niet bestaat
            if(mkdir($this->directory.$locatie.$naam)) { // Als de map succesvol is gemaakt
                return true; // geef dan true weer
            }
            else { // als de map niet correct is gemaakt
                return false; // geef dan false weer
            }
        }

        else { // als de map al bestaat
            return false; // Geef dan false weer
        }
    }

    
    // functie delete_file - verwijder een file of map
    function delete_file($bestand) {
        if(file_exists($this->directory.$bestand)) { // als het bestand bestaat (je kunt niets verwijderen dat niet bestaat)
            if(unlink($this->directory.$bestand)) {
                return true;
            }

            else {
                return false;
            }
        }

        else {
            return false;
        }
    }

    
    // Functie delete_dir - verwijder een map
    function delete_dir($dir) {
        if(is_dir($this->directory.$dir)) {
            $handle=opendir($this->directory.$dir);
            while (false!==($file = readdir($handle))) {
                if ($file != "." && $file != "..") {
                    unlink($this->directory.$dir."/".$file);
                }
            }
            
            closedir($handle);
            rmdir($this->directory.$dir);
        }
    }
}


?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.