Can I use a URL as the source for imagecreatefromjpeg() without enabling fopen wrappers? Can I use a URL as the source for imagecreatefromjpeg() without enabling fopen wrappers? php php

Can I use a URL as the source for imagecreatefromjpeg() without enabling fopen wrappers?


You can download the file using cURL then pipe the result into imagecreatefromstring.

Example:

    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $imageurl);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // good edit, thanks!    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); // also, this seems wise considering output is image.    $data = curl_exec($ch);    curl_close($ch);    $image = imagecreatefromstring($data);


You could even implement a cURL based stream wrapper for 'http' using stream_wrapper_register.


You could always download the image (e.g. with cURL) to a temporary file, and then load the image from that file.