Desarrollo Web /

[php+mysql] Subir imagenes+thumbnails+id

Participa en el tema [php+mysql] Subir imagenes+thumbnails+id en el foro Desarrollo Web.
Bueno, busque y no encontre ni en el foro ni en googlelandia. Quiero subir imagenes ...

Buscar en este tema:
 
  •  
    tux escribió el 12/04/2005 a las 20:33 hs.
     
    ¿Mensaje inapropiado?
    #1 [php+mysql] Subir imagenes+thumbnails+id
    Bueno, busque y no encontre ni en el foro ni en googlelandia.

    Quiero subir imagenes (facil) pero que generen a su vez una thumbnail (una miniatura) y no solo eso, tambien agregue una id en la base de datos y se vincule con un 'producto'. En si no me importa si se sube en forma de archivo las dos imagenes o en blob o binario en el mysql (prefiero archivos) pero si que pueda subirlas+thumnails+vinculacion con id.
    Si alguien tiene por ahi un script dando vuelta con esto por plis que me lo pase si es tan amable.

    Ciao y gracias
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/desarrollo-web.264/233482-php-mysql-subir-imagenes-thumbnails-id.html
    | Más
  • alucinogeno escribió el 12/04/2005 a las 23:45 hs. ¿Mensaje inapropiado?

    #2 Re: [php+mysql] Subir imagenes+thumbnails+id

    te adjunte un zip con dos archivos php que use en un laburo previo... justamente tuve que hacer lo que estas necesitando.
    no esta depurado y tal vez se puede hacer mas simple, pero es lo que hay. si te sirve y le haces mejoras porfa despues publicalas.

    si se te complica entender el codigo (te digo porque ahora que lo estaba editando para pasartelo habia cosas que hasta se me complicaron de entende hasta a mi :o . y fue hace unos meses que lo hice...) pregunta sin dramas (despues de lo que te acabo de decir no te dben dar muchas ganas...

    saludos
    ´geno-
    Archivos adjuntos
    Tipo de archivo: zip rutinasphp.zip (3.3 KB, 285 vistas)
    Me gusta este mensaje
  • tux escribió el 12/04/2005 a las 23:50 hs. ¿Mensaje inapropiado?

    #3 Re: [php+mysql] Subir imagenes+thumbnails+id

    Jajaj, ya mismo lo estoy bajando y te agradezco de antemano. Cualquier novedad la publico.
    Suerte y Gracias!.

    Ciao
    Me gusta este mensaje
  • tux escribió el 13/04/2005 a las 02:39 hs. ¿Mensaje inapropiado?

    #4 Re: [php+mysql] Subir imagenes+thumbnails+id

    Bien, modifique algunas cosas con el tema de la conexion de base de datos, fue facil y rapido, ahora en los querys no necesita mas hace conexion, directamente le hice un include al principio y en lo querys lo mismo de siempre con la seleccion de tabla. Pero me larga error igual en el tema del generado de thumbnail (sube la foto bien y la adjunta a la base de datos la )

    Me tira Warning: imagesy(): supplied argument is not a valid Image resource in y Warning: imagesx(): supplied argument is not a valid Image resource in

    Código PHP:
    <html>
    <head>
    <title>TITULO DEL DOCUMENTO</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="../style.css" rel="stylesheet" type="text/css">
    <script language="JavaScript" type="text/JavaScript">
    <!--

    function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    //-->
    </script>
    <style type="text/css">
    <!--
    .activo {
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 24px;
        font-weight: bold;
        color: #000000;
        background-color: #CCCCCC;
    }
    -->
    </style>
    </head>

    <body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>
    <br><center><h1>Mantenimiento de fotos</h1></center><br>
    <table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
        <td align="center" valign="top"> 
        <table border="0" cellpadding="0" cellspacing="0">
        <tr><td>
    <?
        
    include "config.php";

    ?>

    </td></tr>
    <tr><td>
    <? 
    // Especificamos esta linea donde defino
    // el PATH DE DESTINO, de acuerdo a cada sistema.
    // para unix = /var/www/html/uploads/
    // para windows = c:\\inetpub\\wwwroot\\uploads\\
    // La carpeta de destino debe tener permisos 757 en Unix
    // Y de lectura y escritura en Windows

    if ($act) {
        if (
    is_uploaded_file($_FILES['userfile']['tmp_name'])) {
            
    $filename $_FILES['userfile']['tmp_name'];
            
    $realname $_FILES['userfile']['name'];

            
    copy($_FILES['userfile']['tmp_name'],"imagenes/".$realname);
        
        } else {
            echo 
    "<p>Posible ataque mediante upload ".$_FILES['userfile']['name'].".";
        }
        
    // [SQL] sumar string actual del campo 'fotos' con la referencia al archivo nuevo
        
    $ssql='SELECT * FROM publicaciones WHERE codigo=' $_POST['propiedad'];
        
    $rss=mysql_query($ssql);
        
    $rs=mysql_fetch_array($rss);
        if(
    $rs["fotos"] != "")
            
    $realname $rs["fotos"] . ";" $realname;
        
    //Creamos la sentencia SQL y la ejecutamos
        
    $ssql="Update publicaciones Set fotos='$realname' Where codigo='$propiedad'";
        
    //mysql_db_query("ejemplo",$ssql);
        
    mysql_query($ssql);
    }

    ?>
    <form name="subir" ENCTYPE="multipart/form-data" method="POST" action="<? echo $PHP_SELF?>?act=upload&cod=<? echo $_GET["cod"]; ?>">
    <?    
        
        
    //Muestro datos de la propiedad activa
        
    if (isset($_GET["cod"])) {
            
    $ssql 'SELECT codigo, direccion, barrio FROM publicaciones WHERE codigo=' $_GET["cod"];
            
    $rss mysql_query($ssql);
            
    $rs mysql_fetch_array($rss);    
    echo 
    '<div class="activo">' $rs["direccion"] . ' - ' $rs["barrio"] . ' / cod: ' $_GET["cod"] . '</div>';
        }
        
    //seleccion de todos los archivos de la tabla 'personas' con el campo 'id'= <variable de URL (.php?id=1)>
        
    $ssql "SELECT * FROM `publicaciones`";

        
    //ejecutar sql y almacenar la referencia (puntero?) en la variable $rss
        
    $rss mysql_query($ssql);    
        
        echo 
    "<b>CODIGO - DIRECCION</b><br>";
        echo 
    '<select name="menupropiedad" onChange="MM_jumpMenu(\'parent\',this,0)">';

        
    //Generamos el menu desplegable
        
    echo '<option value="#" selected>--Seleccione Propiedad--';
        while (
    $rs=mysql_fetch_array($rss)) {
    echo 
    '<option value="' $PHP_SELF '?cod=' $rs["codigo"] . '">' $rs["codigo"] . " / " $rs["barrio"] . ' - ' $rs["direccion"];
        }
        echo 
    "</select>";
        
        
    //si ya se eligio propiedad, mostrar opciones de mantenimiento de archivos
        
    if(isset($_GET["cod"])) {
            
    ?><br><br>
            <strong>ARCHIVO DE IMAGEN:</strong> <br>
            <input type="FILE" name="userfile" size="35">
            <input type="hidden" name="MAX_FILE_SIZE" value="1000">
            <input type="hidden" name="propiedad" value="<? echo $_GET["cod"]; ?>">
            <input type="submit" value="Subir" name="B1">

            <p>Pulsar sólo una vez y esperar la confirmación</p>
            <p><a href="<?php print("$PHP_SELF"); ?>">Reiniciar el formulario</a></p>
            </form>

            <form name="borrar" method="POST" action="<? echo $PHP_SELF?>?cod=<? echo $_GET["cod"]; ?>">
    <?php
            
    //sql para buscar depto y mostrar fotos en el server
            
    $ssql 'SELECT * FROM publicaciones WHERE codigo = ' $_GET["cod"];

            
    //ejecutar sql y almacenar la referencia (puntero?) en la variable $rss
            
    $rss mysql_query($ssql);
            
    $rs mysql_fetch_object($rss);
            
            
    // antes demostrar las fotos, borrar archivos seleccionados
            
    if(isset($_POST["nombrefoto"])) {
                
    $archivo $_POST["nombrefoto"];
                
                if(
    file_exists($archivo))
                    
    unlink($archivo);
                    
                
    $cadena $rs->fotos;
                
    $cadena explode(";"$cadena);
                
                
    $referencias="";
                
    $i=0;
                foreach(
    $cadena as $nombre$i++;
                
    $j=0;
                foreach(
    $cadena as $nombre) {
                    
    $j++;
                    if(
    $nombre!=$archivo)
                        
    $referencias .= $nombre;
                    if(
    $j < ($i-1)) $referencias .= ';';
                }
                
    //Creamos la sentencia SQL y la ejecutamos
                
    $ssql="UPDATE `publicaciones` SET `fotos`='" $referencias "' WHERE codigo='" $_GET["cod"] . "'";
                
    //mysql_db_query("ejemplo",$ssql);
                
    mysql_query($ssql);
            }
            
            
    ?>
            <br>
            <table width="80%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
            <tr>
                <td align="center">
            <? 
            
    //sql para buscar depto y mostrar fotos en el server
            
    $ssql 'SELECT * FROM publicaciones WHERE codigo = ' $_GET["cod"];

            
    //ejecutar sql y almacenar la referencia (puntero?) en la variable $rss
            
    $rss mysql_query($ssql);
            
    $rs mysql_fetch_object($rss);

            if(
    $rs->fotos!="") {
                
    //mostrar fotos
                //    echo "<img src=\"fotos/" . $nombre . "\">";
                
    $cadena $rs->fotos;
                
    $cadena explode(";"$cadena);
            
                
    // variables para hacer el salto de linea en las fotos y no pasarme del ancho del marco
                
    $xtotal 0;
                
    $xmarco 600;
            
                foreach(
    $cadena as $nombre) { 
                    
    //tomo las dimensiones de la imagen para darle el tamaño correcto al popup
                    
    $fuente = @imagecreatefromjpeg($nombre);
                    
    $imgAncho imagesx ($fuente);
                    
    $xtotal += intval($imgAncho 4); // acumulo el ancho del thumbnail de cada imagen
                    
    $imgAlto =imagesy($fuente); 
                
                    if (
    $xtotal $xmarco) { 
                        echo 
    "</td></tr><tr><td align=\"center\">";
                        
    $xtotal 0;
                    }
                    
    //muestro la imagen con thumb.php
                    
    ?><img src="../thumb.php?ruta=fotos/<? echo $nombre?>" border="0">
                    <br><? echo $nombre?>&nbsp;
    <input type="radio" name="nombrefoto" value="<? echo $nombre?>"></td><td align="center">
                    <?
                
    }
                
    ?> 
                 </td></tr></table>
                 <center><input type="submit" value="Eliminar archivo seleccionado"></center>
                </form><?php
            
    }
            else echo 
    '<h2><b>NO HAY FOTOS DISPONIBLES</b></h2>';
        }
    ?>
    </td>
    </tr>
    </table>
    </body>
    <?
        
    // limpio y cierro variables de conexion
        
    if(isset($_GET["cod"]) || isset($_GET["act"])) mysql_free_result($rss);
        
    mysql_close($db);
    ?>
    </html>

    Código PHP:
    <?php
    //Una Creacion De Jorge Luis Martinez M
    //http://misCodigos.jlmnetwork.com/

    /*Este Archivo Recibe Los Parametros $ruta, Que Es La Ruta Interna De La Imagen En El Servidor, Y Los Parametros $ancho y $alto Que Se Refiere Al Alto Y Ancho De La Previsualizacion*/

    $fuente = @imagecreatefromjpeg($ruta);
    $imgAncho imagesx ($fuente);
    $imgAlto =imagesy($fuente);
    $ancho intval($imgAncho 4);
    $alto intval($imgAlto 4);
    $imagen imagecreatetruecolor($ancho,$alto);

    ImageCopyResized($imagen,$fuente,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto);

    Header("Content-type: image/jpeg");
    imageJpeg($imagen); 

    ?>
    Estoy buscando cual seria el error en:
    173:
    Código PHP:
     $imgAncho imageSX($fuente); 
    175:
    Código PHP:
    $imgAlto =imageSY($fuente); 
    Pero no lo encuentro, si alguien sabe.... me ayudaria mucho, gracias!.

    Ciao
    Me gusta este mensaje


Estadísticas del tema
  • 3 RESPUESTAS
  • 8767 VISTAS
  • 2 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB