Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/09/2008, 09:09
Avatar de masterojitos
masterojitos
 
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Descargar archivo de ftp con PHP

disculpa la tardanza, solo que el trabajo es muy pesado.
por cierto, lo prometido...... aqui te dejo un codigo para lo de bajar archivos de ftp.

pagina: index.php
Código PHP:
<?php
if($_POST){
session_start();
session_register();
$_SESSION['us_ftp']=$_POST['us_ftp'];
$_SESSION['cl_ftp']=$_POST['cl_ftp'];
$_SESSION['sr_ftp']=$_POST['sr_ftp'];
$_SESSION['pr_ftp']=$_POST['pr_ftp'];
header("location: ftp_conection.php"); 
}
?>
<fieldset><legend>Conexion a servidor via FTP</legend><form action="" method="post" name="cx_ftp" id="cx_ftp">
  <strong>Usuario:</strong><br>
  <input name="us_ftp" type="text" id="us_ftp">
  <br>
  <strong>Clave:</strong><br>
  <input name="cl_ftp" type="password" id="cl_ftp">
  <br>
  <strong>Servidor:</strong><br>
  <input name="sr_ftp" type="text" id="sr_ftp">
  <br>
  <strong>Puerto:</strong><br>
  <input name="pr_ftp" type="text" id="pr_ftp">
  <br>
  <input name="ev_ftp" type="submit" id="ev_ftp" value="Entrar">
  <input name="rs_ftp" type="reset" id="rs_ftp" value="Borrar datos">
</form>
</fieldset>
pagina: ftp_conection.php
Código PHP:
<?php
session_start
();
//////////////////////
$usuario=$_SESSION['us_ftp'];
$clave=$_SESSION['cl_ftp'];
$servidor=$_SESSION['sr_ftp'];
$puerto=($_SESSION['pr_ftp']=="")? 21 $_SESSION['pr_ftp'];
$ftp=@ftp_connect($servidor,$puerto,600);
$conec=@ftp_login ($ftp$usuario$clave);
if(!
$ftp)
die(
"No se pudo conectar al servidor.");
elseif(!
$conec)
die(
"Conexion rechasada.");
echo 
'<script>
var sin_selec="#FFFFFF";
var con_selec="#E4E4E4";
function marcar(obj) {
elem=obj.parentNode.parentNode;
elem.style.backgroundColor=(obj.checked) ? con_selec : sin_selec;
}

function marcarTodos(obj) {
elem=document.getElementsByName("select[]");
for(i=0;i<elem.length;i++) {
elem[i].checked=obj.checked;
fila=elem[i].parentNode.parentNode;
fila.style.backgroundColor=(obj.checked) ? con_selec : sin_selec;
}
}
</script>
'
// Escibimos una funcion javascript
////////////////////
if(!isset($_GET['c']))
$dir_pr=ftp_pwd($ftp);
else
$dir_pr=$_GET['c'];
////////////////////
if($_POST && $_POST['v']=="e"){
foreach(
$_POST['select'] as $es_val){// Abrimos el foreach
$ar=@ftp_delete($ftp,$es_val);
if(
$ar// Si no es carpeta
echo "Se a eliminado correctamente.<br>";
else
// De lo contrario
echo "No se pudo eliminar.<br>";
// Cerramos el foreach
}
if(
$_POST && $_POST['v']=="c"){
$dir=$dir_pr.$_POST['dir'];
if (@
ftp_mkdir($ftp$dir)) {
 echo 
"Se a creado \"$dir\" con exito\n";
} else {
 echo 
"Hubo un problema al crear $dir\n";
}
}
if(
$_POST && $_POST['v']=="s"){     
$local_file $dir_pr.$_FILES['txt_file']['tmp_name'];
$destination_file $dir_pr.basename($_FILES['txt_file']['name']); 
$upload ftp_put($ftp$destination_file$local_fileFTP_BINARY);  
if(
$upload)
echo 
"Se a subido correctamente.";
else
echo 
"No se pudo subir correctamente.";
}
if(
$_POST && $_POST['v']=="sa"){     
session_unset(); 
session_destroy(); 
echo 
"Chau";
}

///////////////////
$pag=array();
echo 
"Directorio: ".$dir_pr;
if(
$dir_pr!="/")
echo 
"<br><a href='?c=/'>Ir al principio</a>";
echo 
'<form action="" name="selected" method="post"><table width="761" border="0" align="center" cellpadding="2" cellspacing="2">  <tr>
    <td width="445" height="19" bgcolor="#999999"><strong>Archivo o directorio </strong></td>
    <td width="276" bgcolor="#999999"><strong>Tama&ntilde;o</strong></td>
    <td width="20" bgcolor="#999999"><input type="checkbox" onClick="marcarTodos(this)" name="todos"/></td>
  </tr>
'
;
$contenidos ftp_nlist($ftp,$dir_pr);
$i=0;
foreach(
$contenidos as $cont){
$tamaño=ftp_size($ftp,$dir_pr.$cont);
if(
$tamaño==-&& $cont!="." && $cont!="..")
$pag[]="<tr>
    <td><a href='?c="
.$dir_pr.$cont."/'>$cont</a></td>
    <td >-</td>
    <td >-</td>
  </tr>
"
;
elseif(
$cont!="." && $cont!="..")
$pag[]="<tr>
    <td>$cont</td>
    <td >$tamaño bytes</td>
    <td > <input type='checkbox' onClick='marcar(this)' name='select[]' value='"
.$dir_pr.$cont."' /> </td>
  </tr>
"
;
$i=$i+$tamaño;
}
echo 
implode('',$pag);
echo 
'</table><input name="eliminar" type="submit" value="Eliminar selecionados"><input name="v" type="hidden" value="e"></form>';
echo 
'<form action="" name="selected" method="post"><input name="v" type="hidden" value="c">Crear directorio nuevo:<br><input name="dir" type="text"><input name="crear" type="submit" value="Crear nuevo directorio"></form>';
echo 
'        <form action="" method="POST" enctype="multipart/form-data">
                <input name="v" type="hidden" value="s">
            Subir archivo: <input name="txt_file" type="file" size="35" />
            <input type="submit" name="subir" value="Subir archivo"/>
        </form>'
;
echo 
"Tamaño aprox. de todos los archivos: ".$i." bytes";
echo 
'<form method="post"><input name="v" type="hidden" value="sa"><input name="salir" value="Salir" type="submit"></form>';
ftp_close($ftp);
?>
y punto, ayi te explico bien como configurarlo para bajar los archivos de tu ftp.
un gusto, hasta la proxima.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog