In PHP using GD or imagemagick how can I uplaod a photo from a URL, I want to build a function that I can pass in a few parameters and uplaod the image, I can currentyl uplaod a big image, resize it smaller, then resize some more thumbnails off it and save all into there locations from 1 image but I would like to add the ability to get an image from a URL and then run my code on it to resize and make thumbs.
Would I use curl or something else any example or ideas would be greatly appreciated
PHP is not limited to creating just HTML output. It can also be used to create and manipulate image files in a variety of different image formats, including GIF , PNG , JPEG , WBMP , and XPM . Even more conveniently, PHP can output image streams directly to a browser.
$image = @ImageCreateFromString(@file_get_contents($imageURL));
if (is_resource($image) === true)
{
// image is valid, do your magic here
}
else
{
// not a valid image, show error
}
The @
on both functions are there to prevent PHP from throwing errors if the URL is not a valid image.
Depending on your PHP configuration, fopen may or may not allow for it directly: http://php.net/manual/en/function.fopen.php
Alternatively, you can open a socket (http://php.net/manual/en/book.sockets.php) and write / read HTTP (http://www.faqs.org/rfcs/rfc2616.html) directly. I wouldn't use curl unless you're VERY careful about permissions (especially execute), or can guarantee noone malicious will have access to the tool, as you'll effectively open a potential avenue of attack (well, strictly speaking, you already are, but this has a few different ways it can be abused)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With