Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

resize image on upload with verot class.upload.php

i want to resize my images on upload i found on the web verot class.upload.php but unfortunately it doesn't work with me , no uploads , no resizes , .. so my question is does this api requires some sort of installations, cause i have only uploaded class.upload.php to my server and my function is like that

public  function myImageR()
                     {


        $foo = new Upload($_FILES['img']); 
if ($foo->uploaded) {
   // save uploaded image with no changes
   $foo->Process('/public/images/aa/');
   if ($foo->processed) {
     $a = true;
   } else {
     $a = false;
   }
   // save uploaded image with a new name
   $foo->file_new_name_body = 'foo';
   $foo->Process('/public/images/aa/');
   if ($foo->processed) {
   $a = true;
   } else {
     $a = false;
   }   
   // save uploaded image with a new name,
   // resized to 100px wide
   $foo->file_new_name_body = 'image_resized';
   $foo->image_resize = true;
   $foo->image_convert = gif;
   $foo->image_x = 100;
   $foo->image_ratio_y = true;
   $foo->Process('/public/images/aa/');
   if ($foo->processed) {
    $a = true;
     $foo->Clean();
   } else {
    $a = false;
   } 
}   

                     }

but it it doesn't work at all i am working on localhost with xammp

like image 456
Enigma Avatar asked Feb 27 '26 02:02

Enigma


1 Answers

You need install the GD lib... Example if you are using ubuntu:

sudo apt-get install php5-gd

Then restart the Apache

sudo /etc/init.d/apache2 restart

Anyway, I use this to resize images I use this:

To upload:

   $uploaded_filename = '/www/html/picts/yourfoto.jpg';
   if(isset($_FILES['your_files_field_name'])){
        if (move_uploaded_file($_FILES['your_files_field_name']['tmp_name'], $uploaded_filename)) {
             chmod($uploaded_filename, 0755); 
             return $nome; // OK
         } else {
             return "ERROR"; 
         }
    }

To Resize:

<?php


    $w = 40; // set width
    $h = 40; // set height
    $path = './'; // path


$image_file = (string) filter_input(INPUT_GET, 'img');
$image_path = $path . $image_file;
$img = null;
$ext = @strtolower(end(explode('.', $image_path)));


if ($ext == 'jpeg') {
    $img = imagecreatefromjpeg($image_path);
} else if ($ext == 'jpg') {
    $img = imagecreatefromjpeg($image_path);
} else if ($ext == 'png') {
    $img = imagecreatefrompng($image_path);
} elseif ($ext == 'gif') {
    $img = imagecreatefromgif($image_path);
} elseif ($ext == 'bmp') {
    $img = imagecreatefromwbmp($image_path);
} else {
    exit("File type not found: " . $ext);
}


if ($img) {
    $width = imagesx($img);
    $height = imagesy($img);
    $scale = min($w / $width, $h / $height);

    if ($scale < 1) {
        $new_width = floor($scale * $width);
        $new_height = floor($scale * $height);
        $tmp_img = imagecreatetruecolor($new_width, $new_height);
        imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
        imagedestroy($img);
        $img = $tmp_img;
    }
}


if (!$img) {
    $img = imagecreate($w, $h);
    imagecolorallocate($img, 204, 204, 204);
    $c = imagecolorallocate($img, 153, 153, 153);
    $c1 = imagecolorallocate($img, 0, 0, 0);
    imageline($img, 0, 0, $w, $h, $c);
    imageline($img, $w, 0, 0, $h, $c);
    imagestring($img, 2, 12, 55, 'IMAGE ERROR', $c1);
}

header('Content-type: ' . 'image/png');
imagejpeg($img);

If you want to save the resized file in disk:

$file = '/www/html/picts/yourfoto.jpg';
$save = imagejpeg($img, $file); // save the file

I hope this help!

like image 66
xXx Avatar answered Feb 28 '26 18:02

xXx