Menú Principal

imagenes php

Iniciado por chicuela66, 22 Noviembre 2006, 12:57 PM

0 Miembros y 1 Visitante están viendo este tema.

chicuela66

Hola, estoy intentando que introduzcan por un formulario los datos mas una foto y si le dan a un boton de previsualizar que me muestre como quedaria pero la foto no me la muestra, como lo puedo hacer?

Luisango

Podrias hacerlo con un script que coja la URL del campo de la imagen y la abra en un popup
Facil?

Un saludo!
Even better...

chicuela66

Llamo a una pagina php y si le gusta como queda entonces sube toda la informacion no quiero mostrar solo la imagen sino todo el contenido en un formato predefinido

SaXo

Hola chicuela66.

Podrías previsualizar los datos del formulario antes de actualizar la base de datos. Lo puedes hacer de forma obligatoria o no.

formulario -> previsualización -> gestión de datos.

o

previsualizacion <- formulario -> gestión de datos.

(Quedaría más bonito con diagramas de flujo)

Está de moda usar AJAX para ofrecer una mayor interactividad al usuario sin demorar en la carga de una página entera. Pero perderías la accesibilidad teniendo que hacer una versión alternativa que sea accesible para aquellos usuarios que no puedan ejecutar javascript. Y la gestión de datos del formulario hay que hacerla a mano.

Yo optaría por la primera de las opciones. Previsualización obligatoria para los datos del formulario. Puedes precargar la imagen a un directorio temporal para mostarla y después de validar los datos insertarla en un campo blob.

Existen otras combinaciones o técnicas que, dependiendo del caso concreto, prestan una mejor o peor solución.

Creo que tu problema viene a que estas intentando mostrar una imagen con la ruta local donde se aloja la imagen. Por ejemplo: si quieres mostrar una imagen que tienes en C:\imagnen.gif en la página alojada en el servidor, a este no le puedes decir que use esa ruta para mostrar la imagen. Tienes que usar una ruta relativa o absoluta a la raiz del servidor.

Un saludo,

SaXo

chicuela66

Hola SaXo,
gracias por la información y la idea que tenia era desde formulario previsualizar o gestionar los datos pero igualmente gracias,
ya consegui mostrar la imagen subiendo la imagen a servidor ahora el problema es redimensionarla ya tengo la función pero me muestra el codigo fuente de la imagen.
graciaaaas

Luisango

Tienes problema en redimensionarla?

Podrias hacer esto:
<img src="<?=$ritaimagen ?>" width="LARGO" height="ALTO">

Espero que fuese esto lo que buscas!
Un saludo!
Even better...

chicuela66

Gracias degmaster pero no era lo que buscaba, buscaba que me redimensionara la imagen para que ocupe menos en el servidor, ya lo he conseguido!!!!
Pero muchisisisimas graciaaaaaas!!!!!!!!!

Azielito

pos si a alguien le interesa, encontre una funcion para redimencionar sin perdida de calidad ni esas cosas, espero que sirva
<?php
function redimensionar($type$img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad)
{

    
$defecto 'no.jpg';

    if(
file_exists($img_original)) {

        
// crear imagen desde original
        
$type=strtolower($type);
        switch(
$type)
        {
            case 
'jpeg':    $img ImageCreateFromJPEG($img_original); break;
            case 
'jpg':        $img ImageCreateFromJPEG($img_original); break;
            case 
'png':        $img ImageCreateFromPNG($img_original); breaK;
            case 
'gif':        $img ImageCreateFromGIF($img_original); breaK;
            case 
'wbmp':    $img ImageCreateFromWBMP($img_original); break;
            default:        
$img ImageCreateFromJPEG($defecto);    break;
        }

    } else {
            
$img ImageCreateFromJPEG($defecto); 
    }


    if(!empty(
$img)) {


            
$new_w_R ImageSX($img);
            
$new_h_R ImageSY($img);

            
$img_nueva_altura 50;


            
// se calcula la relación alto/ancho
            
$aspect_ratio $new_h_R/$new_w_R;

            
// se ajusta al nuevo tamaño
            
$img_nueva_altura abs($img_nueva_anchura $aspect_ratio);

            
// crear imagen nueva
            
$thumb ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura);

            
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
            
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img));

            
// guardar la imagen redimensionada donde indica $img_nueva
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
        }


}

// Ejemplo


redimensionar("jpg",$_GET['im'],$_GET['dest'],250,250,100); 
?>