puggan icon

png GD test

puggan | PRO | 05/16/11 03:08:14 PM UTC | 0 ⭐ | 718 👁️ | Never ⏰ | []
PHP |

2.13 KB

|

None

|

0 👍

/

0 👎

<?php
    include("config.php");
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        if(isset($_POST['submit']))
        {
            if($_FILES['file']['error'] == 0)
            {
                $ext = substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], '.') + 1);
                $name = explode('.', $_FILES['file']['name']);
                $name = $name[0];
            
                if($ext == 'jpg' || $ext == 'jpeg')
                {
                    $_FILES['file']['tmp_name'] = imagecreatefromjpeg($_FILES['file']['tmp_name']);
                    $filename = $name."_original.".$ext;
                    imagejpeg($_FILES['file']['tmp_name'], $dirimg.$filename, 100);
                }
                elseif($ext == 'png')
                {
                    $resource = imagecreatefrompng($_FILES['file']['tmp_name']);
                    imagealphablending($resource, true);
                    imagesavealpha($resource, true);
                    $filename = $name."_original.".$ext;
                    imagepng($resource, $dirimg.$filename, 0);
                }
                else
                {
                    $error = "Invalid filtype!";
                }   
            }
            else
            {
                $error = "You forgot to choose a file!";
            }
        }
    
        if(isset($_POST['submit_crop']))
        {
            if($_POST['ext'] == 'jpg' || $_POST['ext'] == 'jpeg')
            {
                $img_r = imagecreatefromjpeg($dirimg.$_POST['full_filename']);
            }
            elseif($_POST['ext'] == 'png')
            {
                $img_r = imagecreatefrompng($dirimg.$_POST['full_filename']);
                imagealphablending($img_r, true); // setting alpha blending on
                imagesavealpha($img_r, true); // save alphablending setting (important)
            }
            $dst_r = ImageCreateTrueColor($targ_w, $targ_h);
 
            imagecopyresampled($dst_r, $img_r, 0, 0, $_POST['x'], $_POST['y'], $targ_w, $targ_h, $_POST['w'], $_POST['h']);
            if($_POST['ext'] == 'jpg' || $_POST['ext'] == 'jpeg')
            {
                imagejpeg($dst_r, $dirimg . $_POST['filename'] . "_small." . $_POST['ext'], $jpeg_quality);
            }
            elseif($_POST['ext'] == 'png')
            {
                imagepng($dst_r, $dirimg . $_POST['filename'] . "_small." . $_POST['ext'], $png_quality);
            }
            header("Location: see.php?big=" . $_POST['filename'] . "_original." . $_POST['ext'] . "&small=" . $_POST['filename'] . "_small." . $_POST['ext']);
            exit();
        }
    }
    else
    {
        header("Location: index.php");
        exit();
    }
    include("header.php");
?>

Comments