Foros del Web » Programando para Internet » PHP »

problema al descargar archivo

Estas en el tema de problema al descargar archivo en el foro de PHP en Foros del Web. Hola amigos estoy creando un txt al momento de visualizar un listado $archivo="lista.txt"; $fp = fopen($archivo,"w+"); while ($row = mysql_fetch_row($result)) { echo "<tr >"; echo ...
  #1 (permalink)  
Antiguo 14/04/2005, 12:21
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta problema al descargar archivo

Hola amigos estoy creando un txt al momento de
visualizar un listado

$archivo="lista.txt";
$fp = fopen($archivo,"w+");
while ($row = mysql_fetch_row($result))
{
echo "<tr >";
echo "<td><div align='left'>";
echo $row[0];
echo "</div></td>";

echo "<td><div align='left'>";
echo $row[1].' '.$row[2] ;
echo "</div></td>";

echo "<td><div align='center'>";
echo $row[8];
echo "</div></td>";

echo "<td><div align='center'>";
echo $row[9];
echo "</div></td>";

echo "<td width='74'><div align='center'>";

echo "</div></td>";
echo "</tr>";

fwrite($fp,$row[1 );


}
fclose($fp);

hasta aqui todo va bien ,recalco algo el listado solo se muestra si los registros tiene en un campo bandera tenga "f"

tengo un boton en esta misma pagina que descarga el txt creado
tambien funciona bien

$filename = "prueba.txt";
// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// browser must download file from server instead of cache

// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

// use the Content-Disposition header to supply a recommended filename and
// force the browser to display the save dialog.
header("Content-Disposition: attachment; filename=".basename($filename).";");

header("Content-Transfer-Encoding: binary");

$root_path = '$ruta';

$myfile = $root_path . $filename;

header("Content-Length: ".filesize($myfile));

readfile("$myfile");

aqui hago un proceso de actulizacion
barro la tabla y el campo bandera que mencione cambia a "v"

el problema que al dar click al boton de "descargar" y sale el dialogo
de guardar o cancelar.

si le doy guardar lo descarga bien.

El problema si le doy cancelar no lo descarga pero el proceso de actualizacion
se ejecuta y me cambia los campos de los registros.

que me pueden comentar.

gracias
__________________
gerardo
  #2 (permalink)  
Antiguo 14/04/2005, 13:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bajo PHP no tienes control de ese evento de "cancelar" tu descarga ..

Así que tendrás que estar seguro que cuando lanzes esa ejecución de tu script para esa descarga .. corresponda actualizar esos datos .. Insisto que no hay control de si cancelas la descarga o menos de si la completastes.

Un saludo,
  #3 (permalink)  
Antiguo 14/04/2005, 13:59
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta hay alguna manera de descargar sin el dialogo

Cita:
Iniciado por Cluster
Bajo PHP no tienes control de ese evento de "cancelar" tu descarga ..

Así que tendrás que estar seguro que cuando lanzes esa ejecución de tu script para esa descarga .. corresponda actualizar esos datos .. Insisto que no hay control de si cancelas la descarga o menos de si la completastes.

Un saludo,
Habria una manera de descargar sin que me salga el dialogo
???
o que me podrian sugerir
__________________
gerardo

Última edición por chalchis; 14/04/2005 a las 14:09
  #4 (permalink)  
Antiguo 14/04/2005, 14:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por chalchis
Habria una manera de descargar sin que me salga el dialogo
???
o que me podrian sugerir
No .. en principio vía HTML/PHP sólo no hay manera ..

Ahora, si ese archivo donde lo descargas es hacia un mismo PC que sabes cual es y tienes acceso para instalar cosas en el .. podrías instalarle un servidor FTP .. configurar una cuenta de FTP en el y enviar el archivo directo a ese servidor FTP de ese PC vía funciones de FTP de PHP: www.php.net/ftp

Otras soluciones serían las de crear/usar algún tipo de ActiveX que previa instalación autorizada en ese navegador .. podría hacer la taréa de descarga sin confirmación (habría que estudiarlo).

Un saludo,
  #5 (permalink)  
Antiguo 14/04/2005, 14:39
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
ahh ok

Cita:
Iniciado por Cluster
No .. en principio vía HTML/PHP sólo no hay manera ..

Ahora, si ese archivo donde lo descargas es hacia un mismo PC que sabes cual es y tienes acceso para instalar cosas en el .. podrías instalarle un servidor FTP .. configurar una cuenta de FTP en el y enviar el archivo directo a ese servidor FTP de ese PC vía funciones de FTP de PHP: www.php.net/ftp

Otras soluciones serían las de crear/usar algún tipo de ActiveX que previa instalación autorizada en ese navegador .. podría hacer la taréa de descarga sin confirmación (habría que estudiarlo).

Un saludo,
Gracias cluster
__________________
gerardo
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 10:23.