slownage
slownage

Reputation: 154

How to add an image from url to temp?

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.

Upvotes: 2

Views: 12561

Answers (1)

Lawrence Cherone
Lawrence Cherone

Reputation: 46602

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);
?>

Upvotes: 6

Related Questions