Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

[PHP] permissies bij upload class

Pagina: 1
Acties:
  • 150 views

Verwijderd

Topicstarter
Hallo,

Ik gebruik het volgende foto upload-script (http://www.phpfreakz.nl/library.php?sid=20269). Het werkt goed, alleen hebben de geüploade bestanden te lage permissies zodat ik ze niet terug kan verwijderen. Dit geldt voor zowel verwijderen via PHP en FTP. De permissies zijn 600 (voor gewone foto) of 644 (voor thumnail).

Hoe kan ik onderstaande code aanpassen zodat ik ze nadien terug kan verwijderen?
Alvast bedankt!


De bovenste functie wordt eerst aangeroepen.
code:
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
function upload_multiply($veldnaam,$map) {
    for($i = 0; $i < count($_FILES[$veldnaam]['name']);$i++) {
      if($_FILES[$veldnaam]['name'][$i] != ''){
        $this->upload($_FILES[$veldnaam]['name'][$i],$_FILES[$veldnaam]['tmp_name'][$i],$_FILES[$veldnaam]['type'][$i],$map);
      }
    }
  }






 function upload($naam,$tmp_name,$type,$map) {
    $extensie = $this->extension_check($naam);
    if($extensie === FALSE) {
      $this->foutmelding .= 'Geen geldige extensie voor bestand: '.$naam.'.<br />';
      return FALSE;
    }
    $upload = $this->upload_file($naam,$tmp_name,$type,$map);
    if($upload === TRUE) {
      if(($extensie == 'jpg' or $extensie == 'jpeg' or $extensie == 'gif' or $extensie == 'png') && ($type == 'image/gif' or $type == 'image/jpg' or $type == 'image/jpeg' or $type == 'image/pjpeg' or $type == 'image/png')) {
        if($this->standaard_thumbnailen) {
          $this->thumbnail($map.$naam,$this->thumb_map.$naam);
        }
        if($this->standaard_watermerken) {
          $this->watermerk($map.$naam);
        }
      }
    }
  }








  function upload_file($naam,$tmp_name,$typ,$map) {
    if(!is_uploaded_file($tmp_name)) {
      $this->foutmelding .= $naam.' is niet goed geüpload.<br />';
      return FALSE;
    }
    $up = move_uploaded_file($tmp_name,$map.$naam);
    if(!$up) {
      $this->foutmelding .= 'Fout bij uploaden van bestand: '.$naam.'.<br />';
      return FALSE;
    }
    return TRUE;
  }







  function watermerk($image) {
    $watermerk = imagecreatefrompng($this->path_to_watermerk);
    $breedte_watermerk = imagesx($watermerk);
    $hoogte_watermerk = imagesy($watermerk);
    imagecreatetruecolor($breedte_watermerk,$hoogte_watermerk);
    //de echte afbeelding
    $extensie_afbeelding = $this->extensie($image);
    if($extensie_afbeelding == 'jpg' or $extensie_afbeelding == 'jpeg') {
      $afbeelding = @imagecreatefromjpeg($image);
    } elseif ($extensie_afbeelding == 'gif') {
      $afbeelding = @imagecreatefromgif($image);
    } elseif ($extensie_afbeelding == 'png') {
      $afbeelding = @imagecreatefrompng($image);
    } else {
      $this->foutmelding .= 'De afbeelding heeft geen geldige extensie.<br />';
      return FALSE;
    }
    $grootte_afbeelding = getimagesize($image);
    $xas = $grootte_afbeelding[0] - $breedte_watermerk - 5;
    $yas = $grootte_afbeelding[1] - $hoogte_watermerk - 5;
    imagecopymerge($afbeelding,$watermerk,$xas,$yas,0,0,$breedte_watermerk,$hoogte_watermerk,100);
    if($extensie_afbeelding == 'jpg' or $extensie_afbeelding == 'jpeg') {
      $new_image = @imagejpeg($afbeelding,$image,75);
    } elseif ($extensie_afbeelding == 'gif') {
      $new_image = @imagegif($afbeelding,$image);
    } elseif ($extensie_afbeelding == 'png') {
      $new_image = @imagepng($afbeelding,$image);
    } else {
      $this->foutmelding .= 'De afbeelding heeft geen geldige extensie.<br />';
      return FALSE;
    }
    if($new_image) {
      return $new_image;
    } else {
      $this->foutmelding .= 'Kon de nieuwe afbeelding niet kopiëren.<br />';
      return FALSE;
    }
    imagedestroy($afbeelding);
    imagedestroy($watermerk);
  }










 function thumbnail ($image,$new_name) {
    $width = $this->thumb_width;
    $height = $this->thumb_height;
    $extensie = $this->extensie($image);
    if($extensie == 'gif') {
      $afbeelding = @imagecreatefromgif($image);
    } elseif($extensie == 'jpg' OR $extensie == 'jpeg') {
      $afbeelding = @imagecreatefromjpeg($image);
    } elseif($extensie == 'png') {
      $afbeelding = @imagecreatefrompng($image);
    } else {

      $this->foutmelding .=  'Geen geldige extensie. <br />';
      return FALSE;
    }
    if(!$afbeelding) {
      $this->foutmelding .= 'Kon de afbeelding niet initialiseren. <br />';
      return FALSE;
    }
    $breedte = imagesx($afbeelding);
    $hoogte = imagesy($afbeelding);
    if ($breedte / $hoogte > $width / $height) {
      $new_width = $width;
      $new_height = round ($hoogte/($breedte/$width));
    } else {
      $new_height = $height;
      $new_width= round ($breedte/($hoogte/$height));
    }
    $hoogte = imagesy($afbeelding);
    $breedte = imagesx($afbeelding);
    if(($breedte/$width) > ($hoogte/$height)) {
      $ratio_x = ($breedte/$width);
      $ratio_y = $ratio_x;
    } else {
      $ratio_y = ( $hoogte / $height );
      $ratio_x = $ratio_y;
    }
    $new_height = round($hoogte/$ratio_y);
    $new_width = round($breedte/$ratio_x);
    if($extensie = 'jpg' or $extensie = 'jpeg' or $extensie = 'png'){
      $im = @ImageCreateTrueColor( $new_width, $new_height );
    } elseif($extensie = 'gif') {
      $im = @ImageCreate( $new_width, $new_height );
    }
    if(!$im) {
      $this->foutmelding = 'Kan de GD afbeelding niet initialiseren.<br />';
      return FALSE;
    }
    ImageCopyResampled( $im, $afbeelding, 0, 0, 0, 0, $new_width, $new_height, $breedte, $hoogte );
    if($extensie = 'jpg' or $extensie = 'jpeg') {
      $new_image = @imagejpeg($im , $new_name , 75);
    } elseif($extensie = 'png') {
      $new_image = @imagepng($im , $new_name);
    } elseif($extensie = 'gif') {
      $new_image = @imagegif($im , $new_name);
    }
    imagedestroy($im);
    if($new_image) {
      return $new_image;
    } else {
      $this->foutmelding .= 'Kon de nieuwe afbeelding niet kopiëren.<br />';
      return FALSE;
    }
  }

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Euh, neem onze Programming Beleid Quickstart eens door?

Allereerst geven we geen support op code van derden; al helemaal niet als je zelf geen idee hebt wat je aan 't doen bent. Verdiep je dan eerst in de code, debug de code (Debuggen: Hoe doe ik dat?) en vind geheid de fout. Vind je niets dan kun je prima een topic openen, maar kom dan wel met concrete vragen; we zijn hier niet om jouw 'geleende code' even voor je te debuggen ;)

Als je code post, gebruik dan de code tags het liefst inclusief taal; dan doet onze hightlighter je code ook nog eens mooi kleuren en daarbij: post enkel relevante code; niemand hier heeft zin om door 150+ regels code te gaan zitten zoeken naar een naald in een hooiberg.

[ Voor 31% gewijzigd door RobIII op 16-09-2008 16:43 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.