2

I am using the SimpleImage.php class from: http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/ , to resize, compress and save the images.

Usually using it with an image from input:

$tmp_dir = $_FILES['file']['tmp_name'];
$file_name = 'something.jpg'; 

include('SimpleImage.php');
$image = new SimpleImage();
$image->load($tmp_dir);

$image->resizeToWidth($width);
$image->save('imgd/l'.$file_name);

But how can I deal just with the image url? (from another website)

$img = file_get_contents($url);

The above $img variable keeps the actual image. So how can I save it to temp to use it? If this is the right way.

If it's possible not to have to change SimpleImage.php class.

1 Answer 1

6

With tempnam()

Creates a file with a unique filename, with access permission set to 0600, in the specified directory. If the directory does not exist, tempnam() may generate a file in the system's temporary directory, and return the name of that.

<?php 
$tmpfname = tempnam("/tmp", "UL_IMAGE");
$img = file_get_contents($url);
file_put_contents($tmpfname, $img);

include('SimpleImage.php');
$image = new SimpleImage();
$image->load($tmpfname);

$image->resizeToWidth($width);
$image->save('imgd/l'.$file_name);
?>
1
  • Thanks and now I figured out that it works also just with the url, I had another error.
    – slownage
    Commented Nov 19, 2012 at 20:15

Not the answer you're looking for? Browse other questions tagged or ask your own question.