Foros del Web » Programando para Internet » PHP »

mostrar imagenes

Estas en el tema de mostrar imagenes en el foro de PHP en Foros del Web. hola! soy novata en php, y estoy haciendo una página web donde poner una galeria de fotos donde los visitantes puedan subir las fotos y ...
  #1 (permalink)  
Antiguo 08/06/2004, 05:51
Avatar de rozlilta  
Fecha de Ingreso: noviembre-2003
Mensajes: 142
Antigüedad: 14 años
Puntos: 1
mostrar imagenes

hola!
soy novata en php, y estoy haciendo una página web donde poner una galeria de fotos donde los visitantes puedan subir las fotos y automaticamente aparezcan en otra página. He conseguido un codigo que me permite subir las fotos, pero no se como hacer para que salgan en otra página. Mi servidor es miarroba y los codigos son los siguientes:

El formulario:

<form action="subearchivo.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<br>
<br>
<b>Enviar un nuevo archivo: </b>

<br>
<input name="userfile" type="file">
<br>
<input type="submit" value="Enviar">
</form>

quien recibe la informacion:

<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";

//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
?>

No importa que salgan las imagenes como tal o con enlace, con que salgan y de ahi se puedan ver es bastante. Si necesitais más información decirmelo. Creo que miarroba no tiene libreria bd. Grácias por todo
  #2 (permalink)  
Antiguo 08/06/2004, 06:10
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Pues simplemente deberías poner en la página <img src="<?=$nombre_archivo?>">. De todas maneras creo que no te he entendido muy bien. Quieres mostrarlas en la misma página que recibe la información?. Se supone que si ha subido la imagen deberías poder hacer referencia a ella indicando en el src donde se encuentran. De todas maneras viendo tu código te recomiendo que crees un directorio donde almacenar las imagenes por ejemplo
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "imagenes/".$nombre_archivo))
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 08/06/2004, 06:23
Avatar de rozlilta  
Fecha de Ingreso: noviembre-2003
Mensajes: 142
Antigüedad: 14 años
Puntos: 1
bueno, me gustaria mostrarlas en otra pagina a parte, lo del directorio gracias por tu sugerencia, ahora mismo lo arreglo. A ver si consigo explicarme más claramente, yo subo las imagenes a un directorio, y el objetivo es que todas las imagenes q se habrian subido a ese directorio mostrarlas en otra página sin yo tener que tocar nada. Espero haberme explicado mejor, gracias por tu ayuda.
  #4 (permalink)  
Antiguo 08/06/2004, 06:49
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Creo que ya te entiendo, la única manera que se me ocurre es que guardes en base de datos ( o en un fichero de texto) el nombre de las imagenes que vas almacenando o listar todos los ficheros del directorio imagenes:

http://www.lania.mx/biblioteca/manua...n.readdir.html

al ir recorriendo la lista con un for o un while solo tendrías que hacer algo parecido a esto
<img src="imagenes/<?=$nombreFicher?>"> (bueno, tendrías que maquetarlo un poco ).
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #5 (permalink)  
Antiguo 08/06/2004, 07:09
Avatar de rozlilta  
Fecha de Ingreso: noviembre-2003
Mensajes: 142
Antigüedad: 14 años
Puntos: 1
grácias por tu ayuda, pero mi poca hablidad para esto hace que siga sin salirme, jejeje.
Me declino por listar el directorio, el problema sq si me salen el nombre de las imagenes q tengo, pero no puedo acceder a ellas mediante link o img, me dijiste que lo podia poner con <img src="imagenes/<?=$nombreFicher?>">, pero no se exactamente ni donde ni como deberia ponerlo para que me saliera, lo he intentado de varios modos (dandome cuenta que el php no es lo mio) y no me sale, a ver si podrias darme el empujón final. Muchisimas gracias, y siento las molestias.

<?php
$handle=opendir('.');
echo "Directory handle: $handle\n";
echo "Files:\n";
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
?>
  #6 (permalink)  
Antiguo 08/06/2004, 07:46
Avatar de rozlilta  
Fecha de Ingreso: noviembre-2003
Mensajes: 142
Antigüedad: 14 años
Puntos: 1
habia encontrado otro codigo para la misma funcion, pero el problema sq no consigo poner links o que salgan las imagenes directamente, aunque si me salen los nombres de lo que hay en la carpeta, era este:

<?
//definimos el path de acceso
$path="imagenes/";

//instanciamos el objeto
$dir=dir($path);

//Mostramos las informaciones
echo "Directorio ".$dir->path.":<br><br>";

while ($elemento = $dir->read())
{
echo $elemento."<br>";
}
//Cerramos el directorio
$dir->close();
?>

me pasa lo mismo que con el otro
  #7 (permalink)  
Antiguo 08/06/2004, 09:38
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
claro, es que donde tienes puesto el echo $elemento tendrías que poner
echo "<img src='".$path.$elemento."' >"; y deberían verse tus fotos una detras de otra. A ver si esta vez hay más suerte
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #8 (permalink)  
Antiguo 08/06/2004, 09:51
Avatar de The_Dark_Roy  
Fecha de Ingreso: enero-2004
Mensajes: 218
Antigüedad: 13 años, 10 meses
Puntos: 0
de esta forma tu tienes que tener las fotos en directorios fuera de la base de datos y en las variables $path guardaras la ruta y en $nombre_archivo el nombre
o que en la base de datos guardaras eso mismo y haciendo unas consultas le asignaras a cada variable lo que le corresponde
echo "<img src=\"$path/$nombre_archivo\">";
en todo caso lo mejor seria que hicieras una pagina que reciba el id de la foto la busque en la base y te muestre esa foto y luego en otra pagina haces
echo "<img src=\"ver_foto.php?id=$id_img\">"
es mas entendible a mi gusto
__________________
ojala te hayas quitado la venda

http://www.surire.cl
http://www.uta.cl
  #9 (permalink)  
Antiguo 08/06/2004, 10:36
agc
 
Fecha de Ingreso: marzo-2004
Ubicación: USA
Mensajes: 92
Antigüedad: 13 años, 8 meses
Puntos: 0
que tal living

Cita:
Iniciado por living
Pues simplemente deberías poner en la página <img src="<?=$nombre_archivo?>">. De todas maneras creo que no te he entendido muy bien. Quieres mostrarlas en la misma página que recibe la información?. Se supone que si ha subido la imagen deberías poder hacer referencia a ella indicando en el src donde se encuentran. De todas maneras viendo tu código te recomiendo que crees un directorio donde almacenar las imagenes por ejemplo
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "imagenes/".$nombre_archivo))

navegando me encontre el codigo que anunciaste yo andaba buscando algo asi pero fijate que me manda un error pordrias ayudarme no se qeu es lo que le falta
el codigo es este con error

if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], 'images/'.$nombre_archivo)){

Warning: move_uploaded_file(images/royal.jpg): failed to open stream: No such file or directory in c:\appserv\www\eje\loadfile\uploadfile.php on line 15
Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\TEMP\php1D.tmp' to 'images/royal.jpg' in c:\appserv\www\eje\loadfile\uploadfile.php on line 15
Ocurrió algún error al subir el fichero. No pudo guardarse.

saludos

Última edición por agc; 08/06/2004 a las 10:39
  #10 (permalink)  
Antiguo 09/06/2004, 03:13
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Has creado la carpeta images??. Debe existir previamente antes de poder mover nada a él.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #11 (permalink)  
Antiguo 09/06/2004, 04:57
Avatar de rozlilta  
Fecha de Ingreso: noviembre-2003
Mensajes: 142
Antigüedad: 14 años
Puntos: 1
hola!, grácias, a mi ya me sale, lo que pasa sq si por ejemplo hay 2 imagenes, me salen esas dos y a la vez sale el hueco de otras 2 pero no se ven. os dejo aki la página, una imagen vale mas que mil palabras:

El resultado
  #12 (permalink)  
Antiguo 09/06/2004, 06:06
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Ya sé lo que te pasa, el problema es que te está sacando los directorios . y .. en la página que te pasé te viene explicado abajo como evitar listar esos dos directorios
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #13 (permalink)  
Antiguo 09/06/2004, 09:05
 
Fecha de Ingreso: abril-2004
Mensajes: 69
Antigüedad: 13 años, 8 meses
Puntos: 0
podias poner todo el codigo, de la pagina para subir el archivo y el q se ven las imagenes.
gracias
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 15:04.