PHP画像アップロードプログラム設計

2679 ワード

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php 
//         
$uptypes=array( 
    'image/jpg', 
    'image/jpeg', 
    'image/png', 
    'image/pjpeg', 
    'image/gif', 
    'image/bmp', 
    'image/x-png' 
);

$max_file_size=2000000;     //        ,   BYTE 
$destination_folder="uploadimg/"; //        
$imgpreview=0;      //       (1   ,      ); 
$imgpreviewsize=1/1;    //      
?> 

<html> 
<head> 
<title>FileUpload</title> 
<style type="text/css"> 
<!-- 
body 
{ 
     font-size: 9pt; 
} 
input 
{ 
     background-color: #66CCFF; 
     border: 1px inset #CCCCCC; 
} 
--> 
</style> 
</head>

<body> 
<form enctype="multipart/form-data" method="post" name="upform"> 
      : 
  <input name="upfile" type="file"> 
  <input type="submit" value="  ">
<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    if (!is_uploaded_file($_FILES["upfile"][tmp_name])) 
    //       
    { 
         echo "     !"; 
         exit; 
    }

    $file = $_FILES["upfile"]; 
    if($max_file_size < $file["size"]) 
    //       
    { 
        echo "    !"; 
        exit; 
    }

    if(!in_array($file["type"], $uptypes)) 
    //       
    { 
        echo "      !".$file["type"]; 
        exit; 
    }

    if(!file_exists($destination_folder)) 
    { 
        mkdir($destination_folder); 
    }

    $filename=$file["tmp_name"]; 
    $image_size = getimagesize($filename); 
    $pinfo=pathinfo($file["name"]); 
    $ftype=$pinfo['extension']; 
    $destination = $destination_folder.time().".".$ftype; 
    if (file_exists($destination) && $overwrite != true) 
    { 
        echo "         "; 
        exit; 
    }

    if(!move_uploaded_file ($filename, $destination)) 
    { 
        echo "      "; 
        exit; 
    }

    $pinfo=pathinfo($destination); 
    $fname=$pinfo[basename]; 
    echo " <font color=red>      </font><br>"; 

    if($imgpreview==1) 
    { 
    echo "<br>    :<br>"; 
    echo "<img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize); 
    echo " alt=\"    :\r   :".$destination."\r    :\">"; 
    } 
} 
?>
  <br> 
</form>
</body> 
</html>