Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/06/2006, 07:47
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si lo quieres en un archivo .. lo primero sería generar tu "Archivo" valga la rebundancia sobre una variable.

Si vas a generar un formato "texto plano" .. tendrás que respetar los "saltos" de línea y otros formatos de este tipo de archivos .. Por ejemplo, el salto de línea es un caracter de control tipo "\n" .. o un tabulador es un "\t" por ejemplo ..

Según esto sería:

Código PHP:
$archivo '';
for (
$i=0$i $count$i++)
{
$archivo .= $nombre_archivo[$i]." ".$tamanio_archivo[$i]." kB\n";

En $archivo .. acomulado (por eso se usa el .=) te quedaría tu archivo .. ya sea para que le hagas un "print" ( o mejor un echo simplemente) .. o generes un archivo (con fopen() y afines ...) o lo entregues a descargar directamente.

Si te fijas .. este proceso no corresponde nada de HTML .. debería ser un script que lo llames por un link tipo "descargar" que apunte a este script sólo .. nada más (si quieres usas este mismo código pero para hacer tu pre-visualización en HTML como ahora lo haces).

Siguiendo con esta filosofía .. lo ideal es forzar la descarga del archivo inmediatamente .. (ya que este es tu fin último u objetivo en este caso).

Para entregar un archivo a descargar .. es necesario componer las cabeceras HTTP adecuadas para indicar que el archivo (el navegador) lo entienda que es para descargar .. Una vez generadas estas cabeceras .. sólo queda entregar el "dato" al buffer de salida .. es decir, un simple "echo" de tu variable que contiene todo tu "Archivo" generado ...

Quedaría algo tipo:

Código PHP:
// Forzamos la descarga (sea el tipo de archivo que sea ..) Ojo con esto .. algunos navegadores no podrían comportarse de la misma forma .. es decir, no entender que se le indica que el archivo es para descargar.
header("Content-Type: application/force-download");

// Se va a llamar nose.txt
header('Content-Disposition: attachment; filename="nose.txt"');

// Se entrega al buffer de salida
echo $archivo
Es importante que para este script le quites TODO el HTML que puedas tener ahora mismo generandose .. NO corresponde. Y como te comenté .. que lo llames en forma individual como una petición nueva al servidor .. (por un link ..) no sirve un "include()" o algo así (por lo menos como está el código sin uso de otras funciones de gestión del buffer de PHP que para este caso son innecesarias ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.