Uploaden + Controleren + Mogelijkheid Verwijderen
Auteur: CDNC - 08 juli 2006 - 22:57 - Gekeurd door: Maarten - Hits: 16239 - 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
html, body {
font-size:12px;
color:#777777;
}
a:link, a:visited, a:active {
color:#777777;
font-family:Tahoma, Verdana, sans-serif;
font-size:12px;
text-decoration:underline;
}
a:hover {
text-decoration:none;
}
.input {
border:solid #777777;
border-width:1px 2px 2px 1px;
background:url(../style/bg_chat1.gif);
font-family:courier;
width:300px;
}
html, body {
font- size: 12px;
color: #777777;
}
a
: link , a
: visited
, a
: active
{ color: #777777;
font- family: Tahoma, Verdana, sans- serif;
font- size: 12px;
text- decoration: underline;
}
a: hover {
text- decoration: none;
}
. input {
border: solid #777777;
border- width: 1px 2px 2px 1px;
background: url( ../ style/ bg_chat1. gif) ;
font- family: courier;
width: 300px;
}
upload pagina, naam zelf te kiezen
<?php
session_start();
$adm['user'] = "cdnc";
$adm['pass'] = "sima";
$types['L'] = array ( "image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng" ); // mime types die toegelaten zijn
$types['S'] = array ( "jpg", "jpeg", "gif", "png"); // extenties die daar bijhoren en dus ook toegestaan zijn
$maxbreedte = 100; // maximum breedte
$maxhoogte = 100; // maximum hoogte
$maxsize = 1024 * 10; // maximale groote ik nam 10 kb
$map = 'avatars/'; // dan map waar de geuploaden dingen naar verdwijnen
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Upload dingetje...</title>
<link href="opmaak.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
$uri = $_SERVER['REQUEST_URI'];
if(!ereg("admin", $uri) && !ereg("logout", $uri) && !ereg("del", $uri)){
if(isset($_POST['upl'])) {
echo '<br /><a href="index.php">Nog eentje toevoegen</a><br /><br />';
$r = ''; // komen error in
if(in_array($_FILES['file']['type'] , $types['L'])){
$file = explode( "." , $_FILES['file']['name'] );
$type = array_pop($file); // de extensie uit de naam halen
$naam = $file; // de naam zonder de extensie
if( in_array( strtolower($type) , $types['S'] )){
$naam = implode( "." , $naam );
$stat = getimagesize($_FILES['file']['tmp_name']);
$breedte = $stat[0];
$hoogte = $stat[1];
if($breedte < $maxbreedte && $hoogte < $maxhoogte){
$size = $_FILES['file']['size'];
if($size < $maxsize){
if( is_dir($map) ){
chmod($map, 0777);
if(move_uploaded_file($_FILES['file']['tmp_name'], $map . $_FILES['file']['name'])){
echo 'Je afbeelding zou geupload zijn, <a href="'. $map . $_FILES['file']['name'] .'">Klik hiet voor hem te bekijken</a>';
# hoopje errors
}else{
$r .= 'Je avatar kon om een of andere reden niet worden geupload.';
}
}else{
$r .= 'de doel-mpa bestaat niet! kun jij niets aan doen.';
}
}else{
$r .= 'Je afbeelding is te groot, de maximale toegelate groote is: '. $maxsize .' Bytes (= '. round( $maxsize/1024/1024, 3 ) .' Mb).';
}
}else{
$r .= 'Je afbeelding is te groot, de foto moet kleiner zijn dan: '. $maxbreedte .' x '. $maxhoogte .' pixels.';
}
}else{
$r .= 'De extensie is niet toegelaten. (real extension)';
}
}else{
$r .= 'De extensie is niet toegelaten. (fake extension)';
}
# error indien hij er is, weergeven
if(!empty($r)){
echo $r;
}
}else{
?>
<form method="post" enctype="multipart/form-data" name="upload">
<input type="file" class="input" name="file"><br><br>
<input type="submit" name="upl" value=" upload ">
</form>
<?php
}
?>
<br /><a href="?admin">Admin</a><br /><br />
<?
# als er de admin pagina gevraagt word...
}elseif(ereg("admin", $uri)){
if($_SESSION['admin'] == "logi"){
?>
<br /><a href="?logout">Admin Log uit</a><br /><br />
<table style="border:1px solid #777777;width:300px;padding:5px;" cellspacing="0" cellpadding="0" border="0">
<?
if ($handle = opendir($map)) {
while (false!=($file=readdir($handle))) {
if($file != "." && $file != ".." && !ereg("php", $file)){
if(filesize($map . $file) > 1024){
$ext = ' Kb';
$size = round(filesize($map . $file) / 1024, 2 );
}else{
$ext = ' Byte';
$size = filesize($map . $file);
}
echo '<tr>';
echo '<td class="b r c" style="width:40px;">';
echo '<a href="?del='. $file .'">[ X ]</a>';
echo '</td>';
echo '<td class="b r" style="width:210px;text-indent:10px;">';
echo '<a href="'. $map . $file .'">'. $file .'</a>';
echo '</td>';
echo '<td class="b r c" style="width:100px;text-indent:10px;">';
echo $size . $ext;
echo '</td>';
echo '</tr>';
}
}
closedir($handle);
}
?>
</table>
<?
}else{
if(isset($_POST['subm'])){
if($_POST['user'] == $adm['user'] && $_POST['pass'] == $adm['pass']){
$_SESSION['admin'] = "logi";
echo'<meta http-equiv="refresh" content="0; URL=?admin">';
}
}else{
?>
<form method="post">
Gebruikersnaam admin: <input type="text" name="user" class="input" /><br />
Paswoord admin: <input type="password" name="pass" class="input" /><br />
<input type="submit" name="subm" value="log in" /><br />
</form>
<br /><a href="index.php">Verlaat Admin</a><br /><br />
<? }
}
}elseif(ereg("logout", $uri)){
unset($_SESSION['admin']);
session_destroy();
echo'<meta http-equiv="refresh" content="0; URL=?admin">';
}elseif(ereg("del", $uri)){
if($_SESSION['admin'] == "logi"){
if(isset($_GET['del']) && !empty($_GET['del'])){
if(file_exists($map . $_GET['del'])){
if($_GET['del'] != "." && $_GET['del'] != ".." && !ereg("php", $_GET['del'])){
unlink($map . $_GET['del']);
echo'<meta http-equiv="refresh" content="0; URL=?admin">';
}
}
}
}
}
?>
<div style="float:right;font-size:10px;">© By CDNC voor SiMa</div>
</body>
</html>
<?php
$adm [ 'user' ] = "cdnc" ;
$adm [ 'pass' ] = "sima" ;
$types [ 'L' ] = array ( "image/pjpeg" , "image/jpeg" , "image/gif" , "image/png" , "image/xpng" ) ; // mime types die toegelaten zijn $types [ 'S' ] = array ( "jpg" , "jpeg" , "gif" , "png" ) ; // extenties die daar bijhoren en dus ook toegestaan zijn $maxbreedte = 100 ; // maximum breedte
$maxhoogte = 100 ; // maximum hoogte
$maxsize = 1024 * 10 ; // maximale groote ik nam 10 kb
$map = 'avatars/' ; // dan map waar de geuploaden dingen naar verdwijnen
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Upload dingetje...</title>
<link href="opmaak.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
$uri = $_SERVER [ 'REQUEST_URI' ] ;
if ( ! ereg ( "admin" , $uri ) && ! ereg ( "logout" , $uri ) && ! ereg ( "del" , $uri ) ) { if ( isset ( $_POST [ 'upl' ] ) ) { echo '<br /><a href="index.php">Nog eentje toevoegen</a><br /><br />' ; $r = '' ; // komen error in
if ( in_array ( $_FILES [ 'file' ] [ 'type' ] , $types [ 'L' ] ) ) { $file = explode ( "." , $_FILES [ 'file' ] [ 'name' ] ) ; $type = array_pop ( $file ) ; // de extensie uit de naam halen $naam = $file ; // de naam zonder de extensie
$breedte = $stat [ 0 ] ;
$hoogte = $stat [ 1 ] ;
if ( $breedte < $maxbreedte && $hoogte < $maxhoogte ) {
$size = $_FILES [ 'file' ] [ 'size' ] ;
if ( $size < $maxsize ) {
echo 'Je afbeelding zou geupload zijn, <a href="' . $map . $_FILES [ 'file' ] [ 'name' ] . '">Klik hiet voor hem te bekijken</a>' ;
# hoopje errors
} else {
$r .= 'Je avatar kon om een of andere reden niet worden geupload.' ;
}
} else {
$r .= 'de doel-mpa bestaat niet! kun jij niets aan doen.' ;
}
} else {
$r .= 'Je afbeelding is te groot, de maximale toegelate groote is: ' . $maxsize . ' Bytes (= ' . round ( $maxsize / 1024 / 1024 , 3 ) . ' Mb).' ; }
} else {
$r .= 'Je afbeelding is te groot, de foto moet kleiner zijn dan: ' . $maxbreedte . ' x ' . $maxhoogte . ' pixels.' ;
}
} else {
$r .= 'De extensie is niet toegelaten. (real extension)' ;
}
} else {
$r .= 'De extensie is niet toegelaten. (fake extension)' ;
}
# error indien hij er is, weergeven
}
} else {
?>
<form method="post" enctype="multipart/form-data" name="upload">
<input type="file" class="input" name="file"><br><br>
<input type="submit" name="upl" value=" upload ">
</form>
<?php
}
?>
<br /><a href="?admin">Admin</a><br /><br />
<?
# als er de admin pagina gevraagt word...
} elseif ( ereg ( "admin" , $uri ) ) {
if ( $_SESSION [ 'admin' ] == "logi" ) {
?>
<br /><a href="?logout">Admin Log uit</a><br /><br />
<table style="border:1px solid #777777;width:300px;padding:5px;" cellspacing="0" cellpadding="0" border="0">
<?
while ( false != ( $file = readdir ( $handle ) ) ) { if ( $file != "." && $file != ".." && ! ereg ( "php" , $file ) ) { $ext = ' Kb' ;
} else {
$ext = ' Byte' ;
}
echo '<td class="b r c" style="width:40px;">' ; echo '<a href="?del=' . $file . '">[ X ]</a>' ; echo '<td class="b r" style="width:210px;text-indent:10px;">' ; echo '<a href="' . $map . $file . '">' . $file . '</a>' ; echo '<td class="b r c" style="width:100px;text-indent:10px;">' ; }
}
}
?>
</table>
<?
} else {
if ( isset ( $_POST [ 'subm' ] ) ) { if ( $_POST [ 'user' ] == $adm [ 'user' ] && $_POST [ 'pass' ] == $adm [ 'pass' ] ) {
$_SESSION [ 'admin' ] = "logi" ;
echo '<meta http-equiv="refresh" content="0; URL=?admin">' ; }
} else {
?>
<form method="post">
Gebruikersnaam admin: <input type="text" name="user" class="input" /><br />
Paswoord admin: <input type="password" name="pass" class="input" /><br />
<input type="submit" name="subm" value="log in" /><br />
</form>
<br /><a href="index.php">Verlaat Admin</a><br /><br />
<? }
}
} elseif ( ereg ( "logout" , $uri ) ) { unset ( $_SESSION [ 'admin' ] ) ; echo '<meta http-equiv="refresh" content="0; URL=?admin">' ;
} elseif ( ereg ( "del" , $uri ) ) { if ( $_SESSION [ 'admin' ] == "logi" ) {
if ( $_GET [ 'del' ] != "." && $_GET [ 'del' ] != ".." && ! ereg ( "php" , $_GET [ 'del' ] ) ) { echo '<meta http-equiv="refresh" content="0; URL=?admin">' ; }
}
}
}
}
?>
<div style="float:right;font-size:10px;">© By CDNC voor SiMa</div>
</body>
</html>
Download code (.txt)
Stemmen
Niet ingelogd.