upload-class
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
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
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);
}
}
}
?>
/********************
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);
}
}
}
?>