Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/01/2011, 19:32
Avatar de Prais
Prais
 
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación Respuesta: Aporte:Manejador de Imagenes con Doble Visualizacion

Los que ya postie son las archivos que mas interactuamos, pero como ya esta construido solo copiar y pegar, ahora faltan solo 2 archivos el previsor.php y el previendo.php

Nota: Aca no tienen que cambiar nada(solo la conexion a la base de datos), solo asegurense de que esten en el mismo directorio.

previsor.php:

Código PHP:
Ver original
  1. <?php session_start(); include("conexion.php");
  2.  
  3.     $defecto = "KG_00_SinFotoProducto.png";
  4.     $Ok = isset($_FILES["archivo"]);
  5.     $url = ($Ok) ? $_FILES["archivo"]["tmp_name"] : $defecto;
  6.     list($anchura, $altura, $tipoImagen, $atributos) = getimagesize($url);
  7.     $error = (isset($atributos)) ? 0 : 1;
  8.     $los_tipos = array("gif", "jpg", "png");
  9.     $tipo = ($Ok) ? "image/".$los_tipos[$tipoImagen - 1] : "image/png";
  10.     $fichero = ($Ok && ($error == 0)) ? $_FILES["archivo"]["name"] : $defecto;
  11.     $tam = filesize($url);
  12.     $OkTam = isset($_POST["maxpeso"]);
  13.     $OkAncho = isset($_POST["maxancho"]);
  14.     $OkAlto = isset($_POST["maxalto"]);
  15.     $maxTam = ($OkTam) ? (int) $_POST["maxpeso"]: 100000;
  16.     $maxAncho = ($OkAncho) ? (int) $_POST["maxancho"]: 640;
  17.     $maxAlto = ($OkAlto) ? (int) $_POST["maxalto"]: 480;
  18.     $error += ($tam <= $maxTam) ? 0 : 2;
  19.     $ancho = ($error == 1) ? 0 : $anchura;
  20.     $alto = ($error == 1) ? 0 : $altura;
  21.     $error += ($ancho <= $maxAncho) ? 0 : 4;
  22.     $error += ($alto <= $maxAlto) ? 0 : 8;
  23.     $datos = ($error == 0) ? $url : $defecto;
  24.     $onload = ($Ok) ? "onload='parent.datosImagen($tam, $ancho, $alto, $error)'": '';
  25.     $datos_imagen = fread(fopen($datos, "rb"), filesize($datos));
  26.     $_SESSION["cont"] = $datos_imagen;
  27.     $_SESSION["tipo"] = ($error == 0) ? $tipo : "image/png";?>
  28. <html>
  29.      <head>
  30.      <style type="text/css" >
  31.     html    {height: 100%;}
  32.     body    {height: 100%;
  33.     overflow: hidden;
  34.     background-color: #eeeeee;
  35.     background-image: url(previendo.php?dato=<?=$fichero;?>);
  36.     background-repeat: no-repeat;
  37.     background-position: center center;}
  38.     </style>
  39.     </head>
  40. <body <?=$onload;?>></body>
  41. </html>

Y por ultimo el previendo.php:

Código PHP:
Ver original
  1. <?php session_start();
  2. $url = ($_SESSION["cont"] == "")
  3. ? fread(fopen("KG_00_SinFotoProducto.png", "rb"), filesize("KG_00_SinFotoProducto.png"))
  4. : $_SESSION["cont"];
  5. $tip = ($_SESSION["tipo"] == "")
  6. ? "image/png"
  7. : $_SESSION["tipo"];
  8. header("Content-type: $tip");
  9. echo $url;

Y eso seria Foreros espero les haya gustado, cualquier duda solo pregunten, y recuerden que si lo podemos mejorar mucho mejor. al menos con esto ya se pueden defender..
Espero pronto hacer nuevos aportes.-
Saludos.-