- Desde
- 5 Ago 2008
- Mensajes
- 834
Hola colegas programadores, ando en el desarrollo de un nuevo sistema :$ y pues se me ocurrio la idea de poder guardar una imagen externa en mi host, para lo cual anduve indagando y encontré lo siguiente:
Luego de eso intenté ejecutar la función así
Y pues no me va... alguien me puede ayudar :$ o existe otra función :$?
PHP:
function guardarImagenes($img, $nombre){
$path = "imagenes/";//COLOCA EL DIRECTORIO DONDE SE GUARDARA
$x = Descargar_imagen($img,$path."i".$nombre);
$img_nueva_anchura = 150; $img_nueva_altura = 200; $img_nueva_calidad = 90;
$ext = explode(".",$nombre);$i=0;
while($ext[$i]!=""){$i++;}$i=$i-1;
$defecto = 'imagenes/defecto.jpg';
if(file_exists($path."i".$nombre)) {
$ext[$i]=strtolower($ext[$i]);
switch($ext[$i])
{
case 'jpeg': $img = ImageCreateFromJPEG($path."i".$nombre); break;
case 'jpg': $img = ImageCreateFromJPEG($path."i".$nombre); break;
case 'png': $img = ImageCreateFromPNG($path."i".$nombre);breaK;
default: $img = ImageCreateFromJPEG($defecto); break;
}
} else
$img = ImageCreateFromJPEG($defecto);
$new_w_R = ImageSX($img);$new_h_R = ImageSY($img);
$aspect_ratio = $new_h_R/$new_w_R;
$img_nueva_altura = abs($img_nueva_anchura * $aspect_ratio);
$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura);
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img));
imagejpeg($thumb, $path.$nombre, $img_nueva_calidad); //guarda la nueva imagen
imagedestroy($thumb);
}
PHP:
function Descargar_imagen($url,$path) {
$c = curl_init();
curl_setopt($c,CURLOPT_URL,$url);
curl_setopt($c,CURLOPT_HEADER,0);
curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
$s = curl_exec($c);
curl_close($c);
$f = fopen($path, 'wb');
$z = fwrite($f,$s);
if ($z != false) return 1;
return 0;
}
Luego de eso intenté ejecutar la función así
PHP:
guardarImagenes("http://www.geeksxd.com/wp-content/uploads/2011/05/windows-7-deshabilitar-aero-snap-300x213.jpg","prueba");
Última edición: