<?
$filedir="/some/path";
$convert="/usr/bin/convert";
?>
<? if (!isset($_FILES['docupload'])) { ?>
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
Send this file: <input name="docupload" type="file"><br>
<input type="submit" value="Send File">
<br>
Resize Options: <input type="radio" name="resize" value="None" checked>No resize <input type="radio" name="resize" value="640">Width to 640 <input type="radio" name="resize" value="800">Width to 800
</form>
[<a href="./files/">Check uploaded files</a>]
<? 
} else {
  $file_name=$_FILES['docupload']['name'];
  $file_tmp=$_FILES['docupload']['tmp_name'];
  list($width,$height,$type)=getimagesize($file_tmp);
  if (!$type||$type>3||filesize($file_tmp)>1024*1024) die('Invalid file type or over 1M');
  $ext=image_type_to_extension($type);
  $cleaned_name=md5_file($file_tmp).$ext;
  if(file_exists("$filedir/$cleaned_name")) die("A file named $cleaned_name already exists, rename yours and try again.");
  print "You just uploaded which was a {$_FILES['docupload']['type']}, and of size {$_FILES['docupload']['size']}<br>";
  print "<br>The link to your picture is <a href=\"./files/$cleaned_name\">$cleaned_name</a>";
  print "<br><br>[<a href=\"fileup.php\">Upload another picture</a>]";
  move_uploaded_file($file_tmp, $filedir.'/'.$cleaned_name);
  $writefile=$filedir.'/'.$cleaned_name;
  if ($_POST['resize']<>"None") {
    if ($_POST['resize']=="640") { 
      $resize_str="640x480";
    } else if ($_POST['resize']=="800") {
      $resize_str="800x600";
    } else {
      die("No thanks.");
    }
    $cmd="$convert -size {$width}x{$height} $writefile -resize $resize_str $writefile";
    exec($cmd);
  }
}
?>
