Posso usare un URL come sorgente per imagecreatefromjpeg () senza abilitare i wrapper fopen?

So che è ansible usare imagecreatefromjpeg (), imagecreatefrompng (), ecc. Con un URL come 'nomefile' con fopen (), ma non sono in grado di abilitare i wrapper a causa di problemi di sicurezza. C'è un modo per passare un URL a imagecreatefromX () senza abilitarli?

Ho anche provato a usare cURL e anche questo mi dà problemi:

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://www.../image31.jpg"); //Actually complete URL to image curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); $image = imagecreatefromstring($data); var_dump($image); imagepng($image); imagedestroy($image); 

Puoi scaricare il file usando cURL e poi redirect il risultato in imagecreatefromstring .

Esempio:

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

Si potrebbe anche implementare un wrapper di stream basato su CURL per "http" usando stream_wrapper_register .

È sempre ansible scaricare l'image (ad esempio con cURL) in un file temporaneo e quindi caricare l'image da quel file.