Duda con PHP

Hola Experto, mi duda es la siguiente:
Cuando guardo una imagen en mi BD, lo hace en binario pero al leerla no me la muestra completa ¿A qué se deberá eso? Y he puesto varias imágenes y algunas si las pone completas y otras a la mitad o menos, he visto también las dimensiones de estas y solo las de 500x500 las despliega bien en la ventana pero las que pasan de esas dimensiones me las deja a la mitad.
Acá te dejo mi código por si tienes tiempo de chequear que estoy haciendo mal pues nunca he programado en PHP ni JavaScript.
--------------------------------------------------------------------------------------
$folio_venta = $_POST['folio'];
     $articulos = $_POST['folio'];
     $tipo_cobro = $_POST['tipo_cobro'];
     $sucursal = $_POST['sucursal'];
     $fecha_pago = $_POST['date'];
     $monto = $_POST['monto'];
     $comprobante = $_POST['folio'];
     $foto_name= $_FILES['foto']['name'];
     $foto_size= $_FILES['foto']['size'];
     $foto_type=  $_FILES['foto']['type'];
     $foto_temporal= $_FILES['foto']['tmp_name'];
     $lim_tamano= $_POST['lim_tamano'];
     $foto_titulo= $_POST['titulo'];
     $foto_id= $_POST['folio'];
     # Limitamos los formatos de imagen admitidos a: png, jpg y gif
     if ($foto_type=="image/x-png" OR $foto_type=="image/png")
     {
      $extension="image/png";
     }
     if ($foto_type=="image/pjpeg" OR $foto_type=="image/jpeg")
     { 
      $extension="image/jpeg";
     }
     if ($foto_type=="image/gif" OR $foto_type=="image/gif")
     {
      $extension="image/gif";
     }
     /*Condicionamos el INSERT para que la foto tenga nombre,
un tamaño distinto de cero y menor que el límite
       y que la variable extensión no sea null*/
     if ($foto_name != "" AND $foto_size != 0 AND $foto_titulo !='' AND $foto_size<=$lim_tamano AND $extension !='')
     {
     /*Reconversion de la imagen para meter en la tabla
       abrimos el fichero temporal en modo
       lectura "r" y binaria "b"*/
      $f1= fopen($foto_temporal,"rb");
     # Leemos el fichero completo limitando la lectura al tamaño del fichero
      $foto_reconvertida = fread($f1, $foto_size);
     /* Anteponemos "\" a las comillas que pudiera contener el fichero
        para evitar que sean interpretadas como final de cadena.*/
      $foto_reconvertida=addslashes($foto_reconvertida);
     /* Abrimos la base de datos y escribimos las intrucciones para Insertar y
        en el campo BLOB insertaremos la foto_reconvertida.*/
      $base="ventasml";
      $tabla="fotos";
      $conexion=mysql_connect ("localhost","root","");
      mysql_select_db ($base, $conexion);
      $meter="INSERT INTO ".$tabla;
      $meter .=" (num_ident, imagen, nombre, tamano, formato) ";
      $meter .=" VALUES('$foto_id','$foto_reconvertida','$foto_titulo',";
      $meter .= "$foto_size, '$extension')";
      $conexion = mysql_connect("localhost","root","");
      mysql_select_db("ventasml",$conexion);
      $sql_query = "INSERT INTO datos_deposito values('$folio_venta','$articulos','$tipo_cobro','$sucursal','$fecha_pago','$monto','$comprobante')";
      mysql_query($sql_query,$conexion);
         if (@mysql_query($meter,$conexion))
      {
       echo "
<script>alert('Datos Guardados.')</script>
";
       if($_POST['titulo'])
       {
        echo "
<hr>
<br>";
        echo "
<div align='right'>De clic <a href='http://localhost/Dinacom/Listo.php'>aqui</a> para continuar o Vea la imagen que nos ha enviado.</div>
";
       }
      }
      else
      {
      }
     }
     else
     {echo "
<script>alert('No Guardamos tus datos, revisa que la imagen sea JPG, GIF o PNG. Y el tamaño maximo de 1 MB.')</script>
";}
    }
   ?>
    <FORM action="g_fotos.php" method="get" target="ventana1" onsubmit="window.open('', 'ventana1', 'scrollbar=yes,resizable=yes,left=50,statusbar=no')">
     <?php
      echo"<INPUT type='hidden' name='id' value=" . $foto_id . ">";
     ?>
     <INPUT type="submit" name="ver" value="Ver Imagen"><br />
    </FORM>
----------------------------------------------------------------------------------------------------
En el Form ACTION="g_fotos.php" tengo el siguiente codigo:
---------------------------------------------------------------------------------------------
<?
if ($_GET['id'])
{
$base="ventasml";
$tabla="fotos";
$conexion=mysql_connect ("localhost","root","");
mysql_select_db ($base, $conexion);
    $sacar = "SELECT * FROM fotos WHERE num_ident = " . $_GET['id'];
    $resultado =...

1 respuesta

Respuesta
1
haber amigazo ... pruba con este código.
<?php
    $conexion=mysql_connect ("localhost","root","");
    mysql_select_db("ventaslm", $conexion);
    $resultado = mysql_query("SELECT * FROM fotos WHERE num_ident='".$_GET["n"]."'");
    $registro = mysql_fetch_array($resultado)
    header('Content-Type: image/'.$registro["formato"]);
    echo  $registro[0];
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas