PHP - Menu Desplegable descarga de archivo

 
Vista:

Menu Desplegable descarga de archivo

Publicado por Alvaro (2 intervenciones) el 27/04/2014 00:48:20
Buenas Gente, estoy iniciandome en PHP y me esta costando realizar un boton con llamada a un archivo.

Tengo este codigo (no es mio) y quiero colocar un boton (input) para descargar un archivo segun sea lo que aparezca en el menu desplegable:

Codigo PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
define ("Link_one" , '<a href="Archivo1.docx" title="PLANTILLA_1">Plantilla 1</a>');
define ("Link_two" , '<a href="Archivo2.xlsx" title="PLANTILLA_2">Plantilla 2</a>');
 
$List_templates = array
		(
			0=>'-- Selecciona Plantilla --',
			1=> Link_one,
			2=> Link_two,
		);
		function doSelect($n,$d,$s=null)
		{
			$doSelect = "<select name=\"$n\">\n";
			foreach($d as $i=>$v)
				{
				$doSelect.="\t<option value=\"$i\"";
				$doSelect.=$s==$i?"selected":"";
				$doSelect.=">".$v."</option>\n";
				}
			$doSelect.="</select>";
		return $doSelect;
		}
		echo doSelect('Plantillas',$List_templates,0);
Por ejemplo si en el menu desplegable elijo "Plantilla 1" que me descarge el "Archivo1.docx", sea con un boton o sea automaticamente.

He intentado usar el siguiente input, pero no sabria que poner en la href, no se que variable usar, he usado todas las de la function y ninguna la reconoce.

1
<input type=\"button\" value=\"Download\" onClick=\"window.location.href('');\">;


Muchas 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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Menu Desplegable descarga de archivo

Publicado por xve (6935 intervenciones) el 27/04/2014 10:56:20
Hola Alvaro, como quieres hacerlo, que se descargue el archivo automáticamente una vez pulse el botón, o que muestre el enlace al archivo para que el usuario pulse?


La manera que se me ocurre ahora mismo, creo que seria la manera correcta.

Una vez el usuario pulsa el botón, yo enviaría por ajax la petición a una pagina php, la cual devolvería el archivo para descargar.

No se si es así como quieres hacerlo... coméntanos, ok?
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

Menu Desplegable descarga de archivo

Publicado por Alvaro (2 intervenciones) el 27/04/2014 13:57:30
Primero, muchas gracias por responder

Si, me gustaría, que cuando pinche directamente en donwload se descarge el archivo, o en su defecto, salga la opcion de abrir, guardar.

Y como veo que controlas, y si no te importa, podrias explicarme que hace la funcion (doSelect), no termino de entender el uso de las variables:
1
2
3
4
5
6
7
8
$doSelect = "<select name=\"$n\">\n";
			foreach($d as $i=>$v)
				{
				$doSelect.="\t<option value=\"$i\"";
				$doSelect.=$s==$i?"selected":"";
				$doSelect.=">".$v."</option>\n";
				}
			$doSelect.="</select>";

Gracias Otra vez...
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 Alain

Menu Desplegable descarga de archivo

Publicado por Alain (3 intervenciones) el 06/05/2014 16:12:59
"... que hace la funcion (doSelect),...." Alvaro la doSelect en este caso no es ninguna función ni referencia ninguna es simplemente una variable a la que se le van agregando valores si miras el codigo:

$doSelect = "<select name=\"$n\">\n";
foreach($d as $i=>$v)
{
$doSelect.="\t<option value=\"$i\"";
$doSelect.=$s==$i?"selected":"";
$doSelect.=">".$v."</option>\n";
}
$doSelect.="</select>";


$doSelect = "......." aqui se le asiga el primer valor luego se le concatenan valores siguiendo los valores del array que tines abajo.

Es simplemente eso una variable que estas usando para guardar valores y luego usarlos como quieras supongo en este caso imprimir el SELECT nada mas.

Un saludo
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