this is pretty simple in php, as long as the server supports it.
you make a form that looks basically like this:
[HTML]
<form method='post' enctype='multipart/form-data' action='[some page].php'>
<input type='file' name='thefile' value=''>
<input type='submit name='submit' value='submit'>
</form>
[/HTML]
then on the [some page] you need something similar to:
[PHP]
<?
if(is_uploaded_file($_FILES['thefile']['tmp_name'])==true) { //make sure it uploaded
$extension=strtolower(ereg_replace(".*/","",$_FILES['thefile']['type'])); // type will be like 'image/gif' or 'image/jpg'
if($extension!='gif' &&$extension!='jpg' &&$extension!='png') {
die('not a valid image');
}
move_uploaded_file($_FILES['thefile']['tmp_name'],'pictures/'.$_FILES['thefile']['name'].".".$extension) or die('failed to move file');
// then you can open the image in GD to make sure it's a valid image, and not an exe or something like that
}
?>
[/PHP]