Foros del Web » Programando para Internet » PHP »

descargar archivos mediante Link

Estas en el tema de descargar archivos mediante Link en el foro de PHP en Foros del Web. Hola, quisiera saber como poder descargar archivos de un servidor FTP mediante un enlace, y que al hacer click se abra la ventana del navegador ...
  #1 (permalink)  
Antiguo 17/02/2011, 13:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta descargar archivos mediante Link

Hola, quisiera saber como poder descargar archivos de un servidor FTP mediante un enlace, y que al hacer click se abra la ventana del navegador de descargar archivos y poder guardarlos en el computador personal:

Tengo el siguiente codigo para mostrar los archivos:

Código PHP:
<?php include('funciones_subirDocumento.php'); //Incluye el archivo de funciones ?>


<?
<table>

<
tr>
<
td bgcolor #EAEAEA ><div align=center><p>Nombre</p></td>
<td bgcolor #EAEAEA ><div align=center><p>Tamaño</p></td>
<td bgcolor #EAEAEA ><div align=center><p>Fecha de Modificación</p></td>
</tr>
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
//$ruta=ObtenerRuta(); //Obtiene la ruta actual en el Servidor FTP
$ruta "/SAINE/documentos_mantenciones";
$lista=ftp_nlist($id_ftp,$ruta); //Devuelve un array con los nombres de ficheros
$lista=array_reverse($lista); //Invierte orden del array (ordena array)
while ($item=array_pop($lista)) //Se leen todos los ficheros y directorios del directorio
{
$tamano=number_format(((ftp_size($id_ftp,$item))/1024),2)." Kb";
//Obtiene tamaño de archivo y lo pasa a KB
if($tamano=="-0.00 Kb"// Si es -0.00 Kb se refiere a un directorio
{
$item="<i>".$item."</i>";
$tamano="&nbsp;";
$fecha="&nbsp;";
}else{
$fecha=date("d/m/y h:i:s"ftp_mdtm($id_ftp,$item));
//Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida
}
?>


<tr>
<td><p>
<?php echo $item;?></p></td>
<td><div align=center><p><?php echo $tamano ?></p></td>
<td><div align=center><p><?php echo $fecha ?></p></td>
</tr>
<?php ?>
</table>
El archivo de funciones es:
Código PHP:
<?
# FUNCIONES FTP
# CONSTANTES
define("SERVER","****"); //IP o Nombre del Servidor
define("PORT",21); //Puerto
define("USER","****"); //Nombre de Usuario
define("PASSWORD","****"); //Contraseña de acceso
define("PASV",true); //Activa modo pasivo

# FUNCIONES

function ConectarFTP(){
//Permite conectarse al Servidor FTP
$id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP
ftp_login($id_ftp,USER,PASSWORD); //Se loguea al Servidor FTP
ftp_pasv($id_ftp,MODO); //Establece el modo de conexión
ftp_chdir($id_ftp"SAINE/documentos_mantenciones");
return 
$id_ftp//Devuelve el manejador a la función
}

function 
SubirArchivo($archivo_local,$archivo_remoto){
//Sube archivo de la maquina Cliente al Servidor (Comando PUT)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
ftp_put($id_ftp,$archivo_remoto,$archivo_local,FTP_BINARY);
//Sube un archivo al Servidor FTP en modo Binario
ftp_quit($id_ftp); //Cierra la conexion FTP
}

function 
ObtenerRuta(){
//Obriene ruta del directorio del Servidor FTP (Comando PWD)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$Directorio=ftp_pwd($id_ftp); //Devuelve ruta
ftp_quit($id_ftp); //Cierra la conexion FTP
return $Directorio//Devuelve la ruta a la función
}
?>

La idea es que cuando imprima los archivos en la tabla, aparezcan en forma de "enlace" y al pinchar se descarguen.

He buscado pero no encuentro lo que quiero.
=/
HELP!
  #2 (permalink)  
Antiguo 17/02/2011, 13:45
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: descargar archivos mediante Link

o tal vez algun tutorial completo de como poder descargar archivos del ftp con php mediante link? ya que solo he econtrado trozos de codigo pero no se bien como funcionan :/

Etiquetas: link
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 22:29.