Foros del Web » Programando para Internet » PHP »

A solo un error para que funcione... el visualizador de imagen..

Estas en el tema de A solo un error para que funcione... el visualizador de imagen.. en el foro de PHP en Foros del Web. Hola foro, si de nuevo yo,, bueno les comento, reduci varios errores quedandome uno solo, no lo postie en el otro posteo, porque ya cambiaron ...
  #1 (permalink)  
Antiguo 30/12/2010, 21:18
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación A solo un error para que funcione... el visualizador de imagen..

Hola foro, si de nuevo yo,, bueno les comento, reduci varios errores quedandome uno solo, no lo postie en el otro posteo, porque ya cambiaron varias cosas y como comente estoy a solo un error, les posteo:

En previsor.php:
Código PHP:
Ver original
  1. $id_producto=$_REQUEST['ID_PRODUCTO'];  //RESCATO EL ID, PARA HACER LA CONSULTA
  2. $Result=mysql_query("select DE_IMAGEN from lk_inv_producto where ID_PRODUCTO='$id_producto'",$cn);  // BUSCO AL PRODUCTO
  3. $SqlQuery=mysql_fetch_array($Result);
  4.  
  5.  if ($SqlQuery['DE_IMAGEN']== 'N/I'){   //AKA SI LA IMAGEN CONSULTADA TRAE DE LA CONSULTA 'N/I'(NO INFORMADO), $imagen TOMA EL VALOR DE LA FOTO POR DEFECTO.
  6. $imagen = "KG_00_SinFotoProducto.png";
  7. } else {
  8. $imagen= $SqlQuery['DE_IMAGEN'];  //SINO $imagen TOMA EL VALOR QUE LE TRAIGA EL $SqlQuery['DE_IMAGEN'];
  9.   }  
  10.     $defecto = $imagen;  //AKA LE PASO EL VALOR DE $imagen, A $defecto
  11.     $Ok = isset($_FILES["archivo"]);
  12.     $url = ($Ok) ? $_FILES["archivo"]["tmp_name"] : $defecto;
  13.     list($anchura, $altura, $tipoImagen, $atributos) = getimagesize($url);
  14.     $error = (isset($atributos)) ? 0 : 1;
  15.     $los_tipos = array("gif", "jpg", "png");
  16.     $tipo = ($Ok) ? "image/".$los_tipos[$tipoImagen - 1] : "image/png";
  17.     $fichero = ($Ok && ($error == 0)) ? $_FILES["archivo"]["name"] : $defecto;
  18.     $tam = filesize($url);
  19.     $OkTam = isset($_POST["maxpeso"]);
  20.     $OkAncho = isset($_POST["maxancho"]);
  21.     $OkAlto = isset($_POST["maxalto"]);
  22.     $maxTam = ($OkTam) ? (int) $_POST["maxpeso"]: 100000;
  23.     $maxAncho = ($OkAncho) ? (int) $_POST["maxancho"]: 640;
  24.     $maxAlto = ($OkAlto) ? (int) $_POST["maxalto"]: 480;
  25.     $error += ($tam <= $maxTam) ? 0 : 2;
  26.     $ancho = ($error == 1) ? 0 : $anchura;
  27.     $alto = ($error == 1) ? 0 : $altura;
  28.     $error += ($ancho <= $maxAncho) ? 0 : 4;
  29.     $error += ($alto <= $maxAlto) ? 0 : 8;
  30.     $datos = ($error == 0) ? $url : $defecto;
  31.     $onload = ($Ok) ? "onload='parent.datosImagen($tam, $ancho, $alto, $error)'": '';
  32.     $datos_imagen = fread(fopen($datos, "rb"), filesize($datos));  // EN ESTA LINEA ARROJA EL ERROR.- Warning: fread(): supplied argument is not a valid stream resource
  33.     $_SESSION["cont"] = $datos_imagen;
  34.     $_SESSION["tipo"] = ($error == 0) ? $tipo : "image/png";
  35.  
  36. ?>
  37. <html >
  38. <head>
  39. <style type="text/css" >
  40. html    {
  41.     height: 100%;
  42. }
  43. body    {
  44.     height: 100%;
  45.     overflow: hidden;
  46.     background-color: #eeeeee;
  47.     background-image: url(previendo.php?dato=<?=$fichero;$imagen;?>);  //AKA LE ENVIA LOS DATOS A PREVIENDO.
  48.     background-repeat: no-repeat;
  49.     background-position: center center;
  50. }
  51. </style>
  52. </head>
  53. <body <?=$onload;?>>
  54.  
  55. </body>
  56. </html>

y en previendo.php:
Código PHP:
Ver original
  1. $url = ($_SESSION["cont"] == "")
  2.  
  3. ? fread(fopen("$imagen", "rb"), filesize("$imagen"))  // AKA DESEO PASARLE LA IMAGEN QUE SE DEFINIO EN PREVISOR.PHP
  4.     : $_SESSION["cont"];
  5. $tip = ($_SESSION["tipo"] == "")
  6.     ? "image/png"
  7.     : $_SESSION["tipo"];
  8. header("Content-type: $tip");
  9. echo $url;

// el error dice asi:

Warning: fread(): supplied argument is not a valid stream resource in C:\xampp\htdocs\proyecto\inventario\previsor.php on line 32

........Alguien sabe por que ?
  #2 (permalink)  
Antiguo 30/12/2010, 21:23
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: A solo un error para que funcione... el visualizador de imagen..

te estara fallando fopen, es bueno verificar el resultado de las funciones a las que llamas.
  #3 (permalink)  
Antiguo 30/12/2010, 21:35
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación Respuesta: A solo un error para que funcione... el visualizador de imagen..

Cita:
Iniciado por enrique4480 Ver Mensaje
te estara fallando fopen, es bueno verificar el resultado de las funciones a las que llamas.
mmm, estoy casi seguro que las funciones estan bien, de todas formas posteo las dos que tienen que ver con previsor.php:

Código Javascript:
Ver original
  1. function ini() {
  2.     document.forms.formu.actualizar = actuar;
  3.     window.frames.ver.location.href = "previsor.php";
  4.     document.forms.formu.actualizar(0, 0, 0);
  5.     }
y
Código Javascript:
Ver original
  1. function prever() {
  2.     var campos = new Array("maxpeso", "maxalto", "maxancho");
  3.     for (i = 0, total = campos.length; i < total; i ++)
  4.     f.form[campos[i]].disabled = false;
  5.     actionActual = f.form.action;
  6.     targetActual = f.form.target;
  7.     f.form.action = "previsor.php";
  8.     f.form.target = "ver";
  9.     f.form.submit();
  10.     for (i = 0, total = campos.length; i < total; i ++)
  11.     f.form[campos[i]].disabled = true;
  12.     f.form.action = actionActual;
  13.     f.form.target = targetActual;
  14.         }
  15.  
  16.     (/\.(gif|jpg|png|ico|bmp)$/i.test(f.value)) ? prever() : no_prever();
  17.         }

y para ser sincero no entiendo en profundidad el fopen.-
  #4 (permalink)  
Antiguo 30/12/2010, 21:42
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: A solo un error para que funcione... el visualizador de imagen..

http://php.net/manual/es/function.fopen.php .
  #5 (permalink)  
Antiguo 31/12/2010, 00:48
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación Respuesta: A solo un error para que funcione... el visualizador de imagen..

y alguna otra sugerencia,, para sacar el error ?
  #6 (permalink)  
Antiguo 31/12/2010, 01:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: A solo un error para que funcione... el visualizador de imagen..

Hola:

Recuerdo que no usé file_get_contents() porque tenía en el servidor una versión de php que no lo soportaba, pero esa línea equivaldría a esa función... pero más parece tratarse de un error al poner la $url.

¿Puede verse en la web?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 31/12/2010, 10:15
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación Respuesta: A solo un error para que funcione... el visualizador de imagen..

Hola: CARICATOS, agradesco la sugerencia y la probare.

Ahora no se puede visualizar por web, pero al mismo tiempo me dejas con la inquietud de poder contar con esta herramienta, tanto para ayudar y para que me ayuden, realmente es necesario.

Ahora se me ocurre lo siguiente: como en resumen a todo mi problema:

como no puedo juntar una imagen asociada a un producto, con la foto por defecto en caso de que no tenga imagen un producto en un mismo <frame>(pero si lo logro por separados),
que tal si estructuro un visualiador doble, que consista en ver la imagen actual y al lado de esta visualizar la imagen que se quiera adjuntar.

Creo que puedo unificar ese codigo, ya que la doble visualizacion, seria con dos <frames>.. lo probare y les posteo.

Como dicen: si no puedes contra el unete..xd.

Creo que con una buena estructura quedaria elegante a nivel corporativo.

Saludos.-
  #8 (permalink)  
Antiguo 31/12/2010, 15:17
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación Respuesta: A solo un error para que funcione... el visualizador de imagen..

Hola,, casi listo, solo estoy afinando la estructura.
lo que es funcional esta a un 100 % funcionando.

Luego se los posteo, con detalle.

Agradecimientos a CARICATOS, MAYCOLALVAREZ, y a todos los que ayudaron.

Saludos.-
-------------------------------------------
  #9 (permalink)  
Antiguo 01/01/2011, 00:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: A solo un error para que funcione... el visualizador de imagen..

Hola:

Asociar imagen a productos puedes conseguirlo fácilmente enviando un identificador por url, por ejemplo enviando la url del producto y consultando su existencia...

imagen.php?url=producto_oferta

Y en imagen.php:

$url = (file_exists($_GET["url"])) ? $_GET["url"] : $defecto;

o por un id u otro atributo, y hacer una consulta a la base de datos... pero no parece que tenga mucho que ver con este mensaje...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:40.