PHP - bajar archivo (del servidor) a la pc del usuario

 
Vista:
sin imagen de perfil
Val: 162
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

bajar archivo (del servidor) a la pc del usuario

Publicado por noe (189 intervenciones) el 14/05/2025 00:39:00
¡Hola foro!!!
Esperando me puedan ayudar y es con lo siguiente en mi trabajo se instaló un servidor y yo programe un sistema y corre sin problemas lo único se no he sabido hacer es que el sistema genera un texto (archivó plano) pero lo deja en el servidor en www/notbue lo que deseo es que lo baje en la pc del usuario
GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 162
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

bajar archivo (del servidor) a la pc del usuario

Publicado por noe (189 intervenciones) el 14/05/2025 00:39:48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
   include "./global_vars/global_vars.php";
   $con = conectarse();
   date_default_timezone_set('America/Mexico_City');
   $fecha = date("Y-m-d") ;
   $dia = substr($fecha,-10,2);
   $mes = substr($fecha,-7,2);
   $ano = substr($fecha,-4,4);
   $junto = 'Plano_'.$dia.$mes.$ano.'.txt';
 
	//$file = fopen($junto, "a");
   //$pide = $pdo->prepare("SELECT ne,concepto,fecini,fecfin,ceros,uniadm,dias From nuevo");
   //$pide->execute();
   //$datos = $pide->fetchall();
   //foreach($datos as $dato){
   //   fwrite($file, $dato['ne'].$dato['concepto'].$dato['fecini'].$dato['fecfin'].$dato['ceros'].$dato['uniadm'].$dato['dias'].PHP_EOL);
   //}
 
   $file = fopen($junto, "a");
   $pide = "SELECT ne,concepto,fecini,fecfin,ceros,uniadm,dias From nuevo";
   $tdan = mysqli_query($con, $pide);
   while($dato = mysqli_fetch_array($tdan)){
      fwrite($file, $dato['ne'].$dato['concepto'].$dato['fecini'].$dato['fecfin'].$dato['ceros'].$dato['uniadm'].$dato['dias'].PHP_EOL);
   }
 
	fclose($file);
   desconectarse($con);
?>
 
<script type = 'text/javascript'>
   alert('El archivo Plano fue creado exitosamente');
   window.location = 'inicio.php';
</script>";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

bajar archivo (del servidor) a la pc del usuario

Publicado por Mauro (1050 intervenciones) el 30/05/2025 17:17:04
Hola Noe:

Para que el archivo se descargue a la PC del usuario necesitas que, desde dicha PC, se realice una petición al servidor para que se le muestre el contenido de dicho archivo.

Con el código que muestras aparentemente se está generando el archivo con el contenido que deseas, lo que te falta es descargarlo desde inicio.php.

Lo que puedes hacer para que, cuando el usuario visite inicio.php, el navegador le ofrezca la opción de descargar el archivo en vez de mostrar su contenido es valerte del encabezado Content-Disposition.

Algo así:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
$fecha = date("Y-m-d") ;
$dia = substr($fecha,-10,2);
$mes = substr($fecha,-7,2);
$ano = substr($fecha,-4,4);
$junto = 'Plano_'.$dia.$mes.$ano.'.txt';
 
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="'.$junto.'"');
 
echo file_get_contents($junto)

Con eso le estás indicando al navegador que, en lugar de interpretar la respuesta como HTML, debe ofrecer la descarga del contenido en formato texto.

Espero te sirva.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 162
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

bajar archivo (del servidor) a la pc del usuario

Publicado por noe (189 intervenciones) el 07/06/2025 15:12:14
Hola Mauro !!!

gracias por contestar estuve un poco mal de salud, pero estoy de regreso
lo voy a probar

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar