Foros del Web » Programando para Internet » PHP »

Problema para mostrar el archivo subido en la misma pagina, justo despues de subirlo

Estas en el tema de Problema para mostrar el archivo subido en la misma pagina, justo despues de subirlo en el foro de PHP en Foros del Web. Buenas! Antes de nada, debo avisar que este problema no me salia en el servidor local (wamp). Pero ahora desde que lo he subido "a ...
  #1 (permalink)  
Antiguo 28/08/2012, 17:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 8 meses
Puntos: 0
Problema para mostrar el archivo subido en la misma pagina, justo despues de subirlo

Buenas!

Antes de nada, debo avisar que este problema no me salia en el servidor local (wamp). Pero ahora desde que lo he subido "a Internet" me tiene desconcertado

He hecho un formulario que sube archivos correctamente a su ruta correspondiente en servidor remoto, e incluso lo anota en la base de datos, hasta ahi ningun problema.


Código PHP:
<?php
include("funciones.php"); //primero incluyo las funciones que he creado para tal subida:


/* Lo primero que quiero que se muestre son las imagenes que ya estan subidas en el servidor remoto */
$list_jpg listame_imagenes(); //funcion volcada desde "funciones.php" aparte
foreach($list_jpg as $jpg){
echo(
"<img src='http://www.paginaweb.com/carpeta_de_imagenes/"$jpg["id_del_archivo"] .".jpg'/><br/>");
}

/* Luego pongo este codigo que sube correctmente las imagenes */
if(@$_POST["action"]=="SUBIR"){
upload_pdfs(@$_SESSION["usuario_coral"]["id"]); //funcion volcada desde "funciones.php" aparte
move_uploaded_file($_FILES["file"]["tmp_name"], "$_SERVER['DOCUMENT_ROOT']/carpeta_de_archivos/"$_POST['filename'] .".jpg");
}
?>
Y justo mas abajo el formulario
Código HTML:
<form method="post"  enctype="multipart/form-data">
    <label>Nombre de archivo:</label>
    <input name="filename"/>
    <label>Elige el archivo</label>
    <input name="file" type="file"/>
    <input type="submit" name="action" value="SUBIR"/>
</form> 
Lo que yo quiero ahora, es que justo despues de subir la ultima imagen desde el formulario quisiera que la pagina se actualizara y la muestre automaticamente junto al resto de imagenes subidas anteriormente.

Cuando hacia las pruebas desde el wamp, me bastaba con un header justo despues del move_uploaded_file para que me redirigiera de nuevo a la pagina, y se mostraba la ultima imagen subida. Pero en el servidor de internet me da el error Warning: Cannot modify header information - headers already sent....

Se podria hacer de otro modo sin usar el header?
Esa es mi pregunta.

PD: el codigo que he mostrado en esta tema esta muy simplificado. Este codigo esta en un include de otro, que recoge variables por _GET... etcetera, pero ya he tenido en otras ocasiones bastantes problemas con el header y me gustaria conocer algun otro metodo para mostrar los archivos recientemente subidos justamente tras haberlos subido. Y en la misma pagina del formulario.
De hecho, para ver que he subido el archivo tengo que pulsar "actualizar" en el navegador desde la misma pagina para comprobar que la subida ha sido correcta pero preferiria que esto lo hiciera automaticamente el navegador.

Espero haberme explicado. Necesito vuestra ayuda! Gracias!!!
  #2 (permalink)  
Antiguo 28/08/2012, 17:56
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Problema para mostrar el archivo subido en la misma pagina, justo despues

use el buscador
http://www.forosdelweb.com/f17/redir...x-html-277091/

http://www.webtaller.com/construccio...ccion-html.php

redireccion con html usando meta tags.
Ese error de header es tipico, recuerde que no pueden haber etiquetas html antes de header.
De todas maneras no veo header ahi.
  #3 (permalink)  
Antiguo 28/08/2012, 23:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema para mostrar el archivo subido en la misma pagina, justo despues

<?php
include("funciones.php"); //primero incluyo las funciones que he creado para tal subida:


/* Lo primero que quiero que se muestre son las imagenes que ya estan subidas en el servidor remoto */
$list_jpg = listame_imagenes(); //funcion volcada desde "funciones.php" aparte
foreach($list_jpg as $jpg){
echo("<img src='http://www.paginaweb.com/carpeta_de_imagenes/". $jpg["id_del_archivo"] .".jpg'/><br/>");
}

/* Luego pongo este codigo que sube correctmente las imagenes */
if(@$_POST["action"]=="SUBIR"){
upload_pdfs(@$_SESSION["usuario_coral"]["id"]); //funcion volcada desde "funciones.php" aparte
move_uploaded_file($_FILES["file"]["tmp_name"], "$_SERVER['DOCUMENT_ROOT']/carpeta_de_archivos/". $_POST['filename'] .".jpg");
header(location: este_mismo_archivo.php); //desde el servidor local esta linea nunca me ha dado problemas. El archivo se actualizaba y desde el foreach de más arriba se mostraba seguidamente el archivo recien subido junto al resto.
}
?>

<form method="post" enctype="multipart/form-data">
<label>Nombre de archivo:</label>
<input name="filename"/>
<label>Elige el archivo</label>
<input name="file" type="file"/>
<input type="submit" name="action" value="SUBIR"/>
</form>


No conocia esa propiedad del tag meta. Más tarde lo pruebo y te digo rodrigo791, gracias por tu respuesta.

Existe algun otro modo de salir de este atolladero? gracias!
  #4 (permalink)  
Antiguo 29/08/2012, 09:13
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema para mostrar el archivo subido en la misma pagina, justo despues

Otra pregunta rodrigo791

Ese meta tag q me mencionas,

puedo ponerle una condicion con PHP?

if move_uploaded_file($_FILES["file"]["tmp_name"].................... <META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://localhost/ejemplo/ejemplo.php'>";

O algo asi, para que el meta no me actualice la pagina hasta que se haya subido la imagen?


Es que en el link q me has pasado no me ha quedado claro

Muchas gracias!
  #5 (permalink)  
Antiguo 29/08/2012, 16:30
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Problema para mostrar el archivo subido en la misma pagina, justo despues

Primero probalo antes de preguntar.
Y si , se puede.

Etiquetas: header:location, move_uploaded_file
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:58.