[code]
<?php 
error_reporting(E_ALL);
session_start();

$dir = "fotoalbum/";  // map voor images 
$maxsize = 100000000; // maximum groote images 
$num = 10; //aantal afbeeldingen tegelijk
$wachtwoord = 'upload'; //wachtwoord om het script te kunnen gebruiken

if($_SERVER['REQUEST_METHOD'] == 'POST') //als er gepost is
{
	if(isset($_POST['login'])) //als ?login bestaat
	{
		if($_POST['wachtwoord'] == $wachtwoord) //als ?login het wachtwoord bevat
		{
			header('Refresh: 2; URL='.$_SERVER['PHP_SELF']); //een header naar deze pagina
			$_SESSION['ingelogd'] = 'OkI'; //sessie zetten dat er ingelogd is
			$melding = 'Ingelogd, en ogenblik geduld...'; //en even echooen
		}
		else //als ?login niet het wachtwoord bevat
		{
			header('Refresh: 2; URL='.$_SERVER['PHP_SELF']); //header refresh naar deze pagina
			$melding = 'Niet ingelogd, en ogenblik geduld...'; //en even echooen dat er niet is ingelogd
		}
	}
}
if(isset($_GET['uitloggen'])) //
{
	header('Refresh: 1; URL=uploader.php');
	unset($_SESSION['ingelogd']);
	$melding = 'Uitgelogd...';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Uploaden</title>

<script language="javascript">
function createmap(id)
{
    if(document.getElementById("weergeefcreate"+id).style.display=='none')
    {
        document.getElementById("weergeefcreate"+id).style.display = '';
        document.getElementById("verbergcreate"+id).style.display = 'none';
        document.getElementById("createetext"+id).style.display = 'none';
    }
    else
    {
        document.getElementById("weergeefcreate"+id).style.display = 'none';
        document.getElementById("verbergcreate"+id).style.display = '';
        document.getElementById("createetext"+id).style.display = '';
    }
}
</script>
</head>

<body>
	<?php
	if(isset($melding)) //als $melding bestaat
	{
		exit($melding); //stop het script met de melding
	}
	
	$i = 0; //set $i op 0
	
	if($_SERVER['REQUEST_METHOD'] == "POST") //als er gesubmit is
	{
		if(isset($_POST['creatdir'])) //als er een nieuwe map aangemaakt moet worden
		{
			if(!empty($_POST['mapname'])) //en de map naaam is niet leeg
			{
				if(!is_dir($dir.$_POST['mapname'])) //en als de map nog niet bestaat
				{
					mkdir($dir.$_POST['mapname'], 0755); //maak de map dan aan
					echo 'de map '.$_POST['mapname'].' is aangemaakt<br><br>'; //en echo dat de map is aangemaakt
				}
				else //als de map al bestaat
				{
					echo 'map bestaat al<br><br>'; //echo dat de map al bestaat
				}
			}
			else //als de mapnaam leeg is
			{
				echo '<b>de opgegeven bestandsnaam is leeg</b><br><br>'; //echo dat de mapnaam leeg is
			}
			
			unset($_POST); //unset de post variabele
		}
		else //als er geen nieuwe map aangemaakt moet worden
		{
			if(!is_dir($dir)) //als de opgegeven map niet bestaat
			{
				mkdir ($dir, 0700); //maak de map aan
			}
			
			$j = 1; //set $j op 1
			
			while($j <= $num) //als $j kleiner of gelijk aan het nummer van de uploads is
			{
				if(!empty($_FILES['bestand'.$j]['name'])) //als het bestand niet leeg is
				{
					$pathinfo = pathinfo($_FILES['bestand'.$j]['name']); //maak een pathinfo 
					$ext =  $pathinfo["extension"]; //en geef $ext de extensie mee
			
					if($ext != 'jpg') //als de extensie niet jpg is
					{
						$error = 'Bestand is geen jpg'; //echo dat
					}
					elseif(file_exists($dir.$_POST['map'].'/'.$_FILES['bestand'.$j]['name'])) //als het bestand al bestaat
					{
						$error = 'Bestand '.$j.' bestaat al'; //echo dat
					}
					elseif($_FILES['bestand'.$j]['size'] > $maxsize) //als het bestand groter is dan de opgegeven grootte
					{ 
						$error = 'Bestand is te groot'; //dan geven dat mee aan de echo ;-)
					}
					else //als al het bovenstaande niet zo is :-p
					{
						$error = NULL; //set $error dan op 0
					}
				
					if(!empty($error)) //als error niet leeg is
					{
						echo '<b>Er is een fout op getreden bij bestand '.$j.':</b><br>'.$error.'<br /><br />';  //echo de error
					}
					else //als de error wel leeg is
					{
						if(move_uploaded_file($_FILES['bestand'.$j]['tmp_name'], $dir.$_POST['map'].'/'.$_FILES['bestand'.$j]['name'])) //verplaats het bestand
						{
							echo 'Bestand '.$j.' is succesvol geupload:<br> 
							<br>
							<img src="'.$dir.$_POST['map'].'/'.$_FILES['bestand'.$j]['name'].'" alt="'.$_FILES['bestand'.$j]['name'].'" width="200px"><br>
							<br>'; //en echo dat alles is gelukt
						}
						else //als het bestand niet verplaatst kon worden
						{

							echo 'Error tijden uploaden van bestand '.$j; //echo dat
						}
					}
				}
				else //als het bestand wel leeg is
				{
					echo '<b>Bestand '.$j.' was leeg</b><br /><br />'; //echo dat het bestand leeg is
				}
				
				$j++;	//verhoog $j met 1	
			} //einde while
		} 
	}
	
	if(!isset($_SESSION['ingelogd'])) //als de sessie ingelogd niet bestaat
	{ //geef het inlog form
	?>
		<form method="post" action="#">
			Wachtwoord: <input type="password" name="wachtwoord" /><br />
			<br />
			<input type="submit" name="login" value="Log in!" />
		</form>
	<?php
	}
	else //als de sessie ingelogd wel bestaat
	{ //echo het upload form
		?>
		
		<form action="#" method="post" enctype="multipart/form-data" name="form" id="form">
			Selecteer een doelmap:
			<select name="map" style="z-index: 1;">
				<?php
				$handle = opendir($dir);
					  
				while (($file = readdir($handle)) != FALSE)
				{
					if (($file != ".") && ($file != "..") && (is_dir($file)))
					{
						echo '<option value="'.$file.'">'.$file.'</option>';
					}
				}
				?>
			</select>
			<br />
			<div id="weergeefcreate1" onclick="createmap(1)" style="cursor:pointer; float: left;">
				<i>Of klik hier en maak een nieuwe map aan</i>
			</div>
					  
			<div id="createetext1" style="display:none; position:absolute; width: 350px; background-color:#999999; z-index: 3;">
				<h4 align="center">Maak een nieuwe map aan</h4>
				
				<form method="post" action="#">
					Nieuwe map naam: <input type="text" name="mapname" /><br />
					<br />
					<input type="submit" name="creatdir" value="Maak map aan" />
					
					<div id="verbergcreate1" style="display:none;">
						<input name="createe_text" type="button" value="cancel" onclick="createmap(1)" />
					</div>
				</form>
			</div>
			<br />
			<br />
			
			<?php  
			$i = 1;
			
			while($i <= $num)
			{
				echo 'Foto '.$i.' <input name="bestand'.$i.'" type="file" id="bestand"><br />';
				$i++;
			}
			?>
			<br />
			<input name="uploaden" type="submit" id="uploaden" value="Uploaden">
		</form>
		<br />
		<br />
		<a href="?uitloggen=ja">uitloggen</a>
	<?php
	}
	?>
</body>
</html>
[/code]