
Agradeciendo su apreciado tiempo y buena disposición.
| |||
redireccionar a una pagina tengo una pagina (descarga.php) cuando hago click en un link de esta pagina, me redirecciona a otra pagina(descargando.php) donde le pasa la ruta a un script para descargar un archivo de mi servidor y sale la tipica ventana de descarga de archivos, quisiera que despues me redireccionara a la pagina(descarga.php) que es la principal. como podria hacerlo? ![]() Agradeciendo su apreciado tiempo y buena disposición. |
| |||
Respuesta: redireccionar a una pagina lo que puedes hacer es que después de procesar el script que recibe el código de descarga en descargando.php agregas la siguiente linea al final header("location: descarga.php"); el archivo descargando.php seria mas o menos así: <?php tu codigo; header("location: descarga.php"); ?> |
| |||
Respuesta: redireccionar a una pagina Gracias por responder miguelension, pero le coloque la instrucción que me diste que es muy logica, pero no me ejecuta el script que le envio, sino se devuelve directamente a la pagina. el script que no ejecuta es: echo "<script>document.location.href='$ruta';</script>\n";(donde $ruta es la ruta donde esta mi archivo) al ejecutarlo sale un cuadro de descarga el tipico de internet explorer o mozilla firefox.quiero que cuando salga me direccione otra vez a la pagina.Agradeceria mucho tu ayuda. |
| |||
Respuesta: redireccionar a una pagina Claro... no le da tiempo a ejecucarse el script. Prueba esto: header("refresh: 5; url=descarga.php"); 5 son los segundos hasta que se produce la redireccion |
| |||
Respuesta: redireccionar a una pagina pateketrueke, segun lo que he entendido yo, la descarga se inicia por una redireccion en javascript, el contenido que genera php seria html, espero a que lo aclare el autor |
| ||||
Respuesta: redireccionar a una pagina Cita: buena pregunta... porque para postear en el foro de PHP, una redirección inicial usando Javascript es absurdo... ![]() y definitivamente sería mejor que el mismo autor del tema aclare muy bien estos puntos... - ¿como es el código que hace la redirección a la descarga?? - ¿como es el código que hace la descarga??
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: redireccionar a una pagina Creo que el codigo que hace la redireccion es <script>document.location.href='$ruta';</script> ... y la descarga supongo que sera un archivo estatico en $ruta |
| |||
Respuesta: redireccionar a una pagina Hola me he leído todo el hilo y básicamente es el mismo problema que tengo yo. Tengo enlaces que en el onclick actualizan unos campos y envían el formulario a un script php descargar.php El script php hace
Código:
Con esto me sale el dialogo de descarga del archivo pero me deja en la misma pagina y yo quiero que se vaya a otra pagina diferente.ob_start(); // evito el tiempo maximo de ejecucion @set_time_limit(0); //Fuerzo la terminacion del script aunque el usuario aborte @ignore_user_abort(false); //---- //compruebo el tipo de fichero $FILECMD = '/usr/bin/file'; $contentType = ''; $fp=popen("$FILECMD -bin $filename", 'r'); if (!$fp) $contentType='application/octet-stream'; else { while($string=fgets($fp, 1024)) $contentType .= $string; pclose($fp); } //---- // de todo el path me quedo solo con el nombre $nom_corto=explode('/',$nombre); $nom_corto=$nom_corto[count($nom_corto)-1]; // preparo las cabeceras if(strpos($HTTP_SERVER_VARS['HTTP_USER_AGENT'], 'MSIE')){ // IE no puede descargar de sesiones sin cache header('Cache-Control: public'); } header('Content-Description: File Transfer'); header('Content-type: '.$contentType); header('Content-Disposition: attachment; filename="'.$nom_corto.'"'); header("Content-length:".(string)(filesize($nombre))); // salida en bloques en vez de usar fpassthru que puede cargarse la memoria del proceso $fp= fopen ($nombre, 'r'); while (!feof ($fp)) { $b= fread ($fp, 131072); // leo en bloques de 128k echo $b; } fclose($fp); ob_end_flush(); ob_end_clean(); La teoría como bien habéis expuesto antes es que después de los headers no se puede poner nada pero haciendo limpieza de buffer de salida con ob_end_clean() no debería cargarse las cabeceras enviadas y permitirme poner otras como header('location: index.php'); Ahí esta mi duda y mi problema de momento. un saludo Última edición por plcabgut; 21/04/2010 a las 08:42 |
Etiquetas: |