login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Upload systemen > Uploaden + Controleren + Mogelijkheid Verwijderen

Uploaden + Controleren + Mogelijkheid Verwijderen

Auteur: CDNC - 08 juli 2006 - 22:57 - Gekeurd door: Maarten - Hits: 16254 - Aantal punten: 4.83 (3 stemmen)



upload scriptje dat controleert op:
*) Extensie & mimetype
*) De groote van de afbeelding
*) De afmetingen van de adbeelding
*) of de map op de server bestaat
limieten en toegelaten extensies zijn aan te passen in het script.

als de admin is ingelogd kan hij zien wat er geupload is en kan het ook verwijderen.

Code:
beetje css, opmaak.css
  1. html, body {
  2. font-size:12px;
  3. color:#777777;
  4. }
  5. a:link, a:visited, a:active {
  6. color:#777777;
  7. font-family:Tahoma, Verdana, sans-serif;
  8. font-size:12px;
  9. text-decoration:underline;
  10. }
  11. a:hover {
  12. text-decoration:none;
  13. }
  14. .input {
  15. border:solid #777777;
  16. border-width:1px 2px 2px 1px;
  17. background:url(../style/bg_chat1.gif);
  18. font-family:courier;
  19. width:300px;
  20. }


upload pagina, naam zelf te kiezen
  1. <?php
  2. $adm['user'] = "cdnc";
  3. $adm['pass'] = "sima";
  4. $types['L'] = array ( "image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng" ); // mime types die toegelaten zijn
  5. $types['S'] = array ( "jpg", "jpeg", "gif", "png"); // extenties die daar bijhoren en dus ook toegestaan zijn
  6. $maxbreedte = 100; // maximum breedte
  7. $maxhoogte = 100; // maximum hoogte
  8. $maxsize = 1024 * 10; // maximale groote ik nam 10 kb
  9. $map = 'avatars/'; // dan map waar de geuploaden dingen naar verdwijnen
  10. ?>
  11.  
  12.  
  13. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  14. "http://www.w3.org/TR/html4/loose.dtd">
  15.  
  16. <html>
  17. <head>
  18. <title>Upload dingetje...</title>
  19. <link href="opmaak.css" rel="stylesheet" type="text/css">
  20. </head>
  21. <body>
  22.  
  23.  
  24. <?php
  25.  
  26. $uri = $_SERVER['REQUEST_URI'];
  27.  
  28. if(!ereg("admin", $uri) && !ereg("logout", $uri) && !ereg("del", $uri)){
  29. if(isset($_POST['upl'])) {
  30. echo '<br /><a href="index.php">Nog eentje toevoegen</a><br /><br />';
  31. $r = ''; // komen error in
  32.  
  33.  
  34.  
  35. if(in_array($_FILES['file']['type'] , $types['L'])){
  36. $file = explode( "." , $_FILES['file']['name'] );
  37. $type = array_pop($file); // de extensie uit de naam halen
  38. $naam = $file; // de naam zonder de extensie
  39.  
  40.  
  41.  
  42.  
  43. if( in_array( strtolower($type) , $types['S'] )){
  44. $naam = implode( "." , $naam );
  45. $stat = getimagesize($_FILES['file']['tmp_name']);
  46. $breedte = $stat[0];
  47. $hoogte = $stat[1];
  48.  
  49.  
  50.  
  51.  
  52. if($breedte < $maxbreedte && $hoogte < $maxhoogte){
  53. $size = $_FILES['file']['size'];
  54.  
  55.  
  56.  
  57. if($size < $maxsize){
  58.  
  59.  
  60.  
  61. if( is_dir($map) ){
  62. chmod($map, 0777);
  63.  
  64.  
  65.  
  66. if(move_uploaded_file($_FILES['file']['tmp_name'], $map . $_FILES['file']['name'])){
  67.  
  68. echo 'Je afbeelding zou geupload zijn, <a href="'. $map . $_FILES['file']['name'] .'">Klik hiet voor hem te bekijken</a>';
  69.  
  70.  
  71. # hoopje errors
  72.  
  73. }else{
  74. $r .= 'Je avatar kon om een of andere reden niet worden geupload.';
  75. }
  76.  
  77. }else{
  78. $r .= 'de doel-mpa bestaat niet! kun jij niets aan doen.';
  79. }
  80.  
  81. }else{
  82. $r .= 'Je afbeelding is te groot, de maximale toegelate groote is: '. $maxsize .' Bytes (= '. round( $maxsize/1024/1024, 3 ) .' Mb).';
  83. }
  84.  
  85. }else{
  86. $r .= 'Je afbeelding is te groot, de foto moet kleiner zijn dan: '. $maxbreedte .' x '. $maxhoogte .' pixels.';
  87. }
  88.  
  89. }else{
  90. $r .= 'De extensie is niet toegelaten. (real extension)';
  91. }
  92.  
  93. }else{
  94. $r .= 'De extensie is niet toegelaten. (fake extension)';
  95. }
  96.  
  97. # error indien hij er is, weergeven
  98. if(!empty($r)){
  99. echo $r;
  100. }
  101.  
  102. }else{
  103.  
  104. ?>
  105.  
  106.  
  107.  
  108.  
  109. <form method="post" enctype="multipart/form-data" name="upload">
  110.  
  111.  
  112. <input type="file" class="input" name="file"><br><br>
  113.  
  114. <input type="submit" name="upl" value=" upload ">
  115.  
  116.  
  117. </form>
  118.  
  119. <?php
  120.  
  121. }
  122. ?>
  123. <br /><a href="?admin">Admin</a><br /><br />
  124.  
  125. <?
  126.  
  127. # als er de admin pagina gevraagt word...
  128. }elseif(ereg("admin", $uri)){
  129.  
  130. if($_SESSION['admin'] == "logi"){
  131. ?>
  132.  
  133. <br /><a href="?logout">Admin Log uit</a><br /><br />
  134. <table style="border:1px solid #777777;width:300px;padding:5px;" cellspacing="0" cellpadding="0" border="0">
  135.  
  136. <?
  137. if ($handle = opendir($map)) {
  138.  
  139. while (false!=($file=readdir($handle))) {
  140. if($file != "." && $file != ".." && !ereg("php", $file)){
  141. if(filesize($map . $file) > 1024){
  142. $ext = ' Kb';
  143. $size = round(filesize($map . $file) / 1024, 2 );
  144. }else{
  145. $ext = ' Byte';
  146. $size = filesize($map . $file);
  147. }
  148. echo '<tr>';
  149. echo '<td class="b r c" style="width:40px;">';
  150. echo '<a href="?del='. $file .'">[ X ]</a>';
  151. echo '</td>';
  152. echo '<td class="b r" style="width:210px;text-indent:10px;">';
  153. echo '<a href="'. $map . $file .'">'. $file .'</a>';
  154. echo '</td>';
  155. echo '<td class="b r c" style="width:100px;text-indent:10px;">';
  156. echo $size . $ext;
  157. echo '</td>';
  158. echo '</tr>';
  159. }
  160. }
  161. closedir($handle);
  162. }
  163. ?>
  164.  
  165. </table>
  166.  
  167. <?
  168. }else{
  169. if(isset($_POST['subm'])){
  170. if($_POST['user'] == $adm['user'] && $_POST['pass'] == $adm['pass']){
  171. $_SESSION['admin'] = "logi";
  172. echo'<meta http-equiv="refresh" content="0; URL=?admin">';
  173. }
  174. }else{
  175. ?>
  176.  
  177. <form method="post">
  178. Gebruikersnaam admin: <input type="text" name="user" class="input" /><br />
  179. Paswoord admin: <input type="password" name="pass" class="input" /><br />
  180. <input type="submit" name="subm" value="log in" /><br />
  181. </form>
  182. <br /><a href="index.php">Verlaat Admin</a><br /><br />
  183.  
  184. <? }
  185. }
  186. }elseif(ereg("logout", $uri)){
  187. unset($_SESSION['admin']);
  188. echo'<meta http-equiv="refresh" content="0; URL=?admin">';
  189.  
  190. }elseif(ereg("del", $uri)){
  191. if($_SESSION['admin'] == "logi"){
  192. if(isset($_GET['del']) && !empty($_GET['del'])){
  193. if(file_exists($map . $_GET['del'])){
  194. if($_GET['del'] != "." && $_GET['del'] != ".." && !ereg("php", $_GET['del'])){
  195. unlink($map . $_GET['del']);
  196. echo'<meta http-equiv="refresh" content="0; URL=?admin">';
  197. }
  198. }
  199. }
  200. }
  201. }
  202. ?>
  203. <div style="float:right;font-size:10px;">&copy; By CDNC voor SiMa</div>
  204. </body>
  205. </html>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (13)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.095s