Descargar mi base de datos txt

Que onda experto aquí con una duda ya puedo subir archivos txt y me los guarda en mi base de datos ahora como puedo mostrar en una lista los archivos ya subidos pero que me aparezcan con el nombre del del txt por ejemplo que la lista me aparezca así

1. Hola mundo.txt

2. Cambios.txt

En mi base de datos cuando guarda el txt le puse tipo( longblob)

1 respuesta

Respuesta
1

Has guardado la información en la base de datos, entonces tendrás que procesar esos datos y generar un archivo de texto.

Lo que haría sería en primero lugar listar todos los registro para generar la lista, eso lo haces con un select simple a la tabla donde están tus txt.

Cuando generes la lista haz un enlace de cada registro con el id de registro como parámetro de url.

La url es el archivo php que generará el txt resultante.

//suponemos que tienes el insert listo
echo "<ul>";
while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
     echo "<li><a href='crea_txt.php?id=".$fila['id']."'>".$fila["nombre_archivo"]."</a>";
}
echo "</ul>";

en el archivo crea_txt.php

Haces el select del registro y retiras su contenido, de esta forma incluyes eso en un txt y lo entregas al cliente.

Fijate que en la consulta existe el valor de id que enviamos desde la url por método get.

header('Content-Disposition: attachment; filename="archivo.txt"');
mysql_connect("localhost", "usuario_mysql", "contraseña_mysql") or
die("No se pudo conectar: " . mysql_error());
mysql_select_db("mibd");
$resultado = mysql_query("SELECT contenido FROM tabla_txt where id="$_GET['id'];);
while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
 echo $fila["id"]."-".$fila["nombre"]."\r\n";
}
mysql_free_result($resultado);

Y así funcionaría en la situación de haberlo guardado en la base de datos.

pero cuando mi txt que subo y se llama escorpión y tiene un contenido y quiero que aparezca en lista el nombre de escorpión y cuando lo descargue ovio el contenido que subí con ese nombre

Por eso, en la lista colocas el campo nombre para que aparezca .

while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
 echo "<li><a href='crea_txt.php?id=".$fila['id']."'>".$fila["nombre_archivo"]."</a>";
}

el id va en el href o sea en la dirección donde el enlace va a direccionar.

ya vi donde esta mi erro es en mi base de datos porque cuando subo el archivo y lo guardo se guarda de la siguiente manera:

id---archivo----

1 [BLOB- 856 Bytes]

2 [BLOB- 124 Bytes]

entonces cuando pongo en el nombre del archivo me aparece todo el contenido y solo quiero el nombre que se muestre

Soluciona eso y vemos como va tu desarrollo global

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas