Dynamic thumbnails

<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

include("../includes/db/dbContentConnect.php");

function createThumb($source,$dest) {

    $thumb_size = 100;

    $size = getimagesize($source);
    $width = $size[0];
    $height = $size[1];

    if($width > $height) {
        $x = ceil(($width - $height) / 2 );
        $width = $height;
    } elseif($height > $width) {
        $y = ceil(($height - $width) / 2);
        $height = $width;
    }

    $new_im = ImageCreatetruecolor($thumb_size,$thumb_size);
    $im = imagecreatefromjpeg($source);
    imagecopyresampled($new_im,$im,0,0,$x,$y,$thumb_size,$thumb_size,$width,$height);
    imagejpeg($new_im,$dest,100);

}

if($_FILES['file']) {

    $imageinfo = getimagesize($_FILES['file']['tmp_name']);

    $blacklist = array(".php", ".phtml", ".exe", ".php4", ".php5", ".dmg");

    if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' &&         $imageinfo['mime'] != 'image/png' && $imageinfo['mime'] != "application/x-shockwave-flash") {
        if ($_FILES['file']['type'] != 'audio/mpeg') {
            echo "Sorry, we only accept GIF, JPEG, PNG, SWF and MP3 files
";
            exit;
        }
    }

    $uploaddir = '../files/images/';
    $thumbdir = $uloaddir . 'thumbs/';
    $uploadfile = $uploaddir . basename($_FILES['file']['name']);
    $thumbrename = $uploaddir . "thumbs/thumb_" . basename($_FILES['file']['name']);

    if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
        
        $thefile = $uploadfile;

        createthumb($uploadfile, $thumbrename);

        $res = mysql_query("INSERT INTO `Images` (url, thumb) VALUES ('$thefile', '$thumbrename')");
        
        echo "File is valid, and was successfully uploaded.
";
            
    } else {
        echo "File uploading failed.
";
    }
}

?>

<?php
if($_FILES['file']){?>
<script type="text/javascript">
alert("File Uploaded!
<?=$_FILES['file']['name']?>
<?=$_FILES['file']['size']." bytes"?>
");
</script>
<?php
exit;}
?>

<iframe name="hiddenframe" src="about:blank" style="border:0;width:0;height:0;position:absolute;"></iframe>

<form target="hiddenframe" name="fileupload" action="#" method="POST" enctype="multipart/form-data">
    <input onchange="this.form.submit()" type="file" name="file" value="" size="50">
    <input type="hidden" name="MAX_FILE_SIZE" value="102400">
</form>

this code im using makes the correct size thumbnail, but it just a solid black square. What am i doing wrong?