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

与世无争的帅哥 提交于 2019-11-29 03:57:49

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!