Quiero poder recuperar una imagen remota de un servidor web, volver a muestrearla, y luego mostrarla en el navegador Y guardarla en un archivo. Aquí es lo que tengo hasta ahora:Obtener imagen remota usando cURL y luego volver a muestrear
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "$rURL");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
$out = curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
$imgRes = imagecreatefromstring($out);
imagejpeg($imgRes, $filename, 70);
header("Content-Type: image/jpg");
imagejpeg($imgRes, NULL, 70);
exit();
actualización
actualizado para reflejar respuesta correcta sobre la base de la discusión a continuación
Gracias ... He actualizado mi pregunta ahora con su información ... Esto requiere dos ejemplos de la imagen, a diferencia de una sola ... de nuevo parece ineficaz. ¿Cuál es una mejor manera de hacer esto? – Chris
@Chris ¿Dos remuestreos de la imagen? ¿Por qué? Almacena el mismo recurso reescalado en el archivo jpeg y lo sirve. ¿Por qué harías el remuestreo dos veces? –
Lo siento, malinterpreté lo que escribiste. He actualizado el código en mi pregunta. Crea el jpeg una vez con una calidad inferior. Presumiblemente, esto es suficiente para reducir el tamaño del archivo? Después de eso lo guardo en un archivo, pero para servirlo necesito leer el archivo nuevamente, ¿no puedo guardarlo temporalmente en la memoria o es una carga insignificante? – Chris