Foros del Web » Programando para Internet » PHP »

Mostrar imagen con php (.php?path=imagen.jpg)

Estas en el tema de Mostrar imagen con php (.php?path=imagen.jpg) en el foro de PHP en Foros del Web. Hola. Estoy intentando mostrar una imágen en mi web, pero me gustaria ocultar la direccion de la imágen. Se que es imposible, pero al menos ...
  #1 (permalink)  
Antiguo 10/09/2008, 03:35
napsteir
Invitado
 
Mensajes: n/a
Puntos:
Mostrar imagen con php (.php?path=imagen.jpg)

Hola.

Estoy intentando mostrar una imágen en mi web, pero me gustaria ocultar la direccion de la imágen. Se que es imposible, pero al menos me gustaria poder hacerla lo mas dificil de encontrar posible.

He visto webs en las que la imágen se muestra mediante

http://www.web.com/showimage.php?path=/path/de/la/imagen/imagen.jpg

de manera que se muestra una imágen. La dirección a la imágen también tendria que ser esa... no como si hiciese un <img scr="http://www.webmcom/<?php echo $_GET["path"] ?>"> sino como
http://www.web.com/showimage.php?path=/path/de/la/imagen/imagen.jpg

Me preguntaba si hay alguna manera de hacerlo. Gracias
  #2 (permalink)  
Antiguo 10/09/2008, 03:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

img.php
Código PHP:
<?php
  $imagen 
$_GET['path'];
  if (
is_file($imagen))
  {
    
$ext substr($imagenstrrpos($imagen'.') + 1); // extension

    
header('content-type: image/'.$ext);
    
readfile($imagen);
    exit;
  }
?>
me imagino que haciendo algo así, suerte!

Código HTML:
<img src="img.php?path=ruta/de/foo.jpg" alt="PHP"/> 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/09/2008, 03:48
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

pásala via POST en vez de vía GET
  #4 (permalink)  
Antiguo 10/09/2008, 04:03
napsteir
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

Cita:
Iniciado por ilie Ver Mensaje
pásala via POST en vez de vía GET
Habia probado algo parecido a esto, tanto en GET como en POST, pero hace algo raro. Encuentra el archivo, pero no lo muestra... :S

Alguna idea de como arreglarlo??? Lo he probado con fopen() y lo mismo
  #5 (permalink)  
Antiguo 10/09/2008, 04:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

umm... ¿cómo lo realizas? Si lo muestras podemos ayudarte, puede ser debido a algún error
  #6 (permalink)  
Antiguo 10/09/2008, 04:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

que te parece si abres el script directamente en el navegador...

y nos dices que muestra... vale?

Código:
img.php?path=ruta/de/foo.jpg
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 10/09/2008, 04:09
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

imagen.php
Código PHP:
<?php


$gif   
'.gif';
$extencion strpos($_GET['imagen'], $gif);

if (
$extencion === false) {

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

$im imagecreatefromJpeg("$_GET[path]$_GET[imagen]");  // $_GET[path] o $_GET[imagen] o ambas ? 

ImageJpeg($im); 

ImageDestroy($im); 

} else {

Header("Content-type: image/gif"); 

$im imagecreatefromGif("$_GET[path]$_GET[imagen]");  // $_GET[path] o $_GET[imagen] o ambas ?

ImageGif($im); 

ImageDestroy($im); 

}



?>
Código HTML:
<img src="imagen.php?imagen=la_imagen.jpg" /> 
Saludos

Última edición por hawaiian050; 10/09/2008 a las 04:23
  #8 (permalink)  
Antiguo 10/09/2008, 04:12
napsteir
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

Cita:
Iniciado por pateketrueke Ver Mensaje
que te parece si abres el script directamente en el navegador...

y nos dices que muestra... vale?

Código:
img.php?path=ruta/de/foo.jpg
Muestra nada... en blanco... basta que lo mireis vosotros

El script es
Código PHP:
<?php
  $imagen 
$_GET['path'];
  if (
is_file($imagen))
  {
    
$ext substr($imagenstrrpos($imagen'.') + 1); // extension

    
header('content-type: image/'.$ext);
    
readfile($imagen);
    exit;
  }
?>
LAS URL's son

http://arielspain.ar.funpic.org/show.php?path=/gallery/images/09/02.jpg

y

http://arielspain.ar.funpic.org/gallery/images/09/02.jpg
  #9 (permalink)  
Antiguo 10/09/2008, 04:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

img.php

Código PHP:
<?php
  error_reporting
(E_ALL); 

  
$imagen $_GET['path'];
  if (!
is_file($imagen))
  {
    die(
'no existe');
  }
  else
  {
    
$ext substr($imagenstrrpos($imagen'.') + 1); // extension

    
header('content-type: image/'.$ext);
    
readfile($imagen);
  }
?>
primero, asegúrate de no dejar espacios antes ni después de los bloques de <?php ?>
luego... que sea lo único que esta escrito, coloca el script... y veamos que sucede con la imagen que sugieres, vale?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 10/09/2008, 04:24
napsteir
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

Cita:
Iniciado por hawaiian050 Ver Mensaje
imagen.php
Código PHP:
<?php


$gif   
'.gif';
$extencion strpos($_GET['imagen'], $gif);

if (
$extencion === false) {

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

$im imagecreatefromJpeg("$_GET[path]$_GET[imagen]");  // $_GET[path] o $_GET[imagen] o ambas ? 

ImageJpeg($im); 

ImageDestroy($im); 

} else {

Header("Content-type: image/gif"); 

$im imagecreatefromGif("$_GET[path]$_GET[imagen]");  // $_GET[path] o $_GET[imagen] o ambas ?

ImageGif($im); 

ImageDestroy($im); 

}



?>
Código HTML:
<img src="imagen.php?imagen=la_imagen.jpg" /> 
Saludos
Devuelve una imágen basada en la URL de la imagen, no la imagen propia.

Es devir.. devuelver una imágen que es "http://arielspain.....?imagen=/gallery/images/09/02.jpg"
  #11 (permalink)  
Antiguo 10/09/2008, 04:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

anduve mirando y note esto...

Código:
http://arielspain.ar.funpic.org/show.php?path=./gallery/images/09/02.jpg
http://arielspain.ar.funpic.org/show.php?path=gallery/images/09/02.jpg
podemos notar la ruta con el punto inicial, lo que indica que el servidor no respeta el archivo, o bien... lo toma relativo al script de donde se ejecuta (me voy por la segundo)

esto sucede cuando el script que se ejecuta intenta leer archivos en otro lado, y no precisamente donde el ejecutante reside o al revés, no se.... aunque puede ser igual, el servidor, o quizá incluyes el script desde otro, etc, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 10/09/2008 a las 04:29 Razón: xD
  #12 (permalink)  
Antiguo 10/09/2008, 04:27
napsteir
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar imagen con php (.php?path=imagen.jpg)

Cita:
Iniciado por pateketrueke Ver Mensaje
img.php

Código PHP:
<?php
  error_reporting
(E_ALL); 

  
$imagen $_GET['path'];
  if (!
is_file($imagen))
  {
    die(
'no existe');
  }
  else
  {
    
$ext substr($imagenstrrpos($imagen'.') + 1); // extension

    
header('content-type: image/'.$ext);
    
readfile($imagen);
  }
?>
primero, asegúrate de no dejar espacios antes ni después de los bloques de <?php ?>
luego... que sea lo único que esta escrito, coloca el script... y veamos que sucede con la imagen que sugieres, vale?
Solucionado

http://arielspain.ar.funpic.org/show.php?path=gallery/images/09/02.jpg

Muchisimas gracias

Última edición por napsteir; 10/09/2008 a las 04:36
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 19:27.