inc/upload.php - index











































































<?php

// uploadget - get name of uploaded image file
//
//      $index          name of FORM input (type="file" name="$index")
//      $dir            directory to copy uploaded file to
//      $prefix         code to rename image file with (for unique file names)
//      $overwrite      boolean to overwrite
//      $ren            name to rename file to (ignores $prefix)

function uploadget($index$dir "."$prefix ""$overwrite 0$ren "") {

        if (!isset(
$_FILES) || !isset($_FILES[$index]))
                return 
NULL;

        if (
substr($dir,-1) != "/"$dir .= "/";

        
$file $_FILES[$index];

        
debug("'$file'");

        
$file_uploaded = ($ren != "") ? $ren $prefix.$file['name'];

        
$file_uploaded strtolower($file_uploaded);
        
$file_uploaded str_replace('.jpeg','.jpg',$file_uploaded);

        if (
file_exists($dir.$file_uploaded) && !$overwrite) {
                
debug("file already exists [overwrite=0]:($dir$file_uploaded)");
                
unlink($file['tmp_name']);
                return 
"$file_uploaded already exists!";
        }

        if (isset(
$file['error']) && $file['error']) {
                
debug("upload error: '{$file['error']}'");
                return 
"upload error ({$file['error']})!";
        }
        if (!
$file['size']) {
                
debug("no size (or oversize)");
                return 
"no content!";
        }
        if (!
is_uploaded_file($file['tmp_name'])) {
                
debug("no file '{$file['tmp_name']}'");
                return 
"no file!";
        }

        
define('WIDTH',0);
        
define('HEIGHT',1);
        
define('TYPE',2);

        
$types = array(IMAGETYPE_GIF,IMAGETYPE_JPEG,IMAGETYPE_PNG);
        
$size getimagesize($file['tmp_name']);
        if (
array_search($size[TYPE],$types) === FALSE) {
                
debug("file is wrong type ({$size[TYPE]} / {$size['mime']})");
                
unlink($file['tmp_name']);
                return 
"file is wrong type!";
        }

        if (
$ren != "") {
                
$types = array(IMAGETYPE_GIF => ".gif",IMAGETYPE_JPEG => ".jpg",IMAGETYPE_PNG => ".png");
                
$file_uploaded .= $types[$size[TYPE]];
        }

        if (!
move_uploaded_file($file['tmp_name'],$dir.$file_uploaded)) {
                
debug("failed to save file '$dir$file_uploaded'");
                return 
"failed to save file!";
        }

        
debug("moved ({$file['tmp_name']},$dir$file_uploaded)");

        return 
$file;
}

?>