Beispiel #1
0
function subir_imagen($tipo, $imagen, $nombre_archivo)
{
    // strstr($cadena, $cadena) sirve para evaluar si en la primera cadena de texto existe la segunda cadena de texto
    // Si dentro del tipo del archivo se encuentra lapalabra image significa que el archivo es una imagen
    if (strstr($tipo, "image")) {
        // El archivo si es una imagen
        if (strstr($tipo, "jpeg")) {
            $extension = ".jpg";
        } else {
            if (strstr($tipo, "gif")) {
                $extension = ".gif";
            } else {
                if (strstr($tipo, "png")) {
                    $extension = ".png";
                }
            }
        }
        /* $tam_img = getimagesize($imagen);
        
        	 $ancho_img = $tam_img[0];
        	 $alto_img = $tam_img[1];
        
        	 $ancho_img_deseado = 128;
        	 //Si la imagen es mayor en su ancho que 128px, reajusto su tamaño
        	 if ($ancho_img>$ancho_img_deseado) {
        	 	// Reajustamos por medio de una regla de 3, para que la imagen sea de 128px
        	 	$nuevo_ancho_img = $ancho_img_deseado;
        	 	$nuevo_alto_img = ($alto_img/$ancho_img)*$nuevo_ancho_img;
        	 	//Creo una imagen real con las nuevas dimensiones
        	 	$img_reajustada = imagecreatetruecolor($nuevo_ancho_img, $nuevo_alto_img);
        	 	//Creo una imagen basada en la original, dependiendo de su extension es el tipo que creare
        	 	switch ($extension) {
        	 		case ".jpg":
        	 		$img_original = imagecreatefromjpeg($imagen);
        	 			// Reajusto la imagen nueva con respecto a la original
        	 		imagecopyresampled($img_reajustada, $img_original, 0, 0, 0, 0,$nuevo_ancho_img, $nuevo_alto_img, $ancho_img, $alto_img);
        	 			// Guardo la imagen reescalada en el servidor
        	 		$nombre_img_ext = "../archivosup/".$nombre_archivo;
        	 		$nombre_img = "../archivosup/".$nombre_archivo;
        	 		imagejpeg($img_reajustada, $nombre_img_ext, 100);
        	 			// Ejecuto la funcion para borrar imagenes dobles para el perfil
        	 		borrar_imagenes($nombre_img, ".jpg");
        	 		break;
        
        	 		case ".gif":
        	 		$img_original = imagecreatefromgif($imagen);
        	 			// Reajusto la imagen nueva con respecto a la original
        	 		imagecopyresampled($img_reajustada, $img_original, 0, 0, 0, 0, $nuevo_ancho_img, $nuevo_alto_img, $ancho_img, $alto_img);
        	 			// Guardo la imagen reescalada en el servidor
        	 		$nombre_img_ext = "../archivosup/".$nombre_archivo;
        	 		$nombre_img = "../archivosup/".$nombre_archivo;
        	 		imagegif($img_reajustada, $nombre_img_ext, 100);
        	 			// Ejecuto la funcion para borrar imagenes dobles para el perfil
        	 		borrar_imagenes($nombre_img, ".gif");
        	 		break;
        
        	 		case ".png":
        	 		$img_original = imagecreatefrompng($imagen);
        	 			// Reajusto la imagen nueva con respecto a la original
        	 		imagecopyresampled($img_reajustada, $img_original, 0, 0, 0, 0, $nuevo_ancho_img, $nuevo_alto_img, $ancho_img, $alto_img);
        	 			// Guardo la imagen reescalada en el servidor
        	 		$nombre_img_ext = "../archivosup/".$nombre_archivo;
        	 		$nombre_img = "../archivosup/".$nombre_archivo;
        	 		imagepng($img_reajustada, $nombre_img_ext);
        	 			// Ejecuto la funcion para borrar imagenes dobles para el perfil
        	 		borrar_imagenes($nombre_img, ".png");
        				break;
        				
        	 	}
        
        	 }else{*/
        //Guardo la ruta
        $destino = "banner/archivosup/" . $nombre_archivo;
        //No se reajusta y se sube
        move_uploaded_file($imagen, $destino) or die("No se pudo subir la imagen al Servidor :(");
        //Ejecuto la funcion para borrar imagenes dobles para el perfil
        $nombre_img = "../archivosup/" . $nombre_archivo;
        borrar_imagenes($nombre_img, $extension);
        //}
        // Asigno el nombre de la foto que se guardo en la BD
        $imagen = $nombre_archivo;
        return $imagen;
    } else {
        return false;
    }
}
Beispiel #2
0
function subir_imagen($tipo, $imagen, $email)
{
    //strstr($cadena1,$cadena2) sirve para evaluar si en la primer cadena de texto existe la segunda cadena
    //Si dentro del tipo del archivo se encuentra la palabra image significa que el archivo es una imagen
    if (strstr($tipo, "image")) {
        //Para saber q tipo de extension es la imagen
        if (strstr($tipo, "jpeg")) {
            $extension = ".jpg";
        } else {
            if (strstr($tipo, "gif")) {
                $extension = ".gif";
            } else {
                if (strstr($tipo, "png")) {
                    $extension = ".png";
                }
            }
        }
        //Para saber si la imagen tiene el ancho correcto que es de 420px
        $tam_img = getimagesize($imagen);
        $ancho_img = $tam_img[0];
        $alto_img = $tam_img[1];
        $ancho_img_deseado = 420;
        //Si la imagen es mayor a su ancho predefinido en la maquetacion de 420px, reajusto su tamaño
        if ($ancho_img > $ancho_img_deseado) {
            //Por medio de una regla de 3, obtengo el alto de la imagen de manera proporcional al ancho nuevo q será de 420px
            $nuevo_ancho_img = $ancho_img_deseado;
            $nuevo_alto_img = $alto_img / $ancho_img * $nuevo_ancho_img;
            //Creo una imagen con el color real con las nuevas funciones
            $img_reajustada = imagecreatetruecolor($nuevo_ancho_img, $nuevo_alto_img);
            //Creo una imagen basada en la original, dependiendo de su extension es la que creare
            switch ($extension) {
                case ".jpg":
                    $img_original = imagecreatefromjpeg($imagen);
                    //Reajusto la imagen nueva, respecto a la original
                    imagecopyresampled($img_reajustada, $img_original, 0, 0, 0, 0, $nuevo_ancho_img, $nuevo_alto_img, $ancho_img, $alto_img);
                    //Guardo la imagen reescalada en el servidor, pasandole como parametro la imagen,ruta y la calidad de jpeg
                    $nombre_img_ext = "../img/fotos/" . $email . $extension;
                    $nombre_img = "../img/fotos/" . $email;
                    imagejpeg($img_reajustada, $nombre_img_ext, 100);
                    //Ejectuto la funcion para borrar posibles imagenes dobles para el perfil
                    borrar_imagenes($nombre_img, ".jpg");
                    break;
                case ".gif":
                    $img_original = imagecreatefromgif($imagen);
                    //Reajusto la imagen nueva, respecto a la original
                    imagecopyresampled($img_reajustada, $img_original, 0, 0, 0, 0, $nuevo_ancho_img, $nuevo_alto_img, $ancho_img, $alto_img);
                    //Guardo la imagen reescalada en el servidor, pasandole como parametro la imagen,ruta y la calidad de jpeg
                    $nombre_img_ext = "../img/fotos/" . $email . $extension;
                    $nombre_img = "../img/fotos/" . $email;
                    imagegif($img_reajustada, $nombre_img_ext, 100);
                    //Ejectuto la funcion para borrar posibles imagenes dobles para el perfil
                    borrar_imagenes($nombre_img, ".gif");
                    break;
                case ".png":
                    $img_original = imagecreatefrompng($imagen);
                    //Reajusto la imagen nueva, respecto a la original
                    imagecopyresampled($img_reajustada, $img_original, 0, 0, 0, 0, $nuevo_ancho_img, $nuevo_alto_img, $ancho_img, $alto_img);
                    //Guardo la imagen reescalada en el servidor, pasandole como parametro la imagen,ruta y la calidad de jpeg
                    $nombre_img_ext = "../img/fotos/" . $email . $extension;
                    $nombre_img = "../img/fotos/" . $email;
                    imagepng($img_reajustada, $nombre_img_ext, 9);
                    //Ejectuto la funcion para borrar posibles imagenes dobles para el perfil
                    borrar_imagenes($nombre_img, ".png");
                    break;
            }
        } else {
            //No se reajusta y se sube la imagen al servidor. Guardo la ruta q tendra en el servidor
            $destino = "../img/fotos/" . $email . $extension;
            //Se sube la foto
            move_uploaded_file($imagen, $destino) or die("No se pudo subir la imagen al servidor :(");
            //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
            $nombre_img = "../img/fotos" . $email;
            borrar_imagenes($nombre_img, $extension);
        }
        //Asigno el nombre de la foto q se guardara en la BD como cadena de texto
        $imagen = $email . $extension;
        //Retorno el valor del nombre de la imagen
        return $imagen;
    } else {
        return false;
    }
}