Foros del Web » Programando para Internet » PHP »

APORTE: Crear un sistema de ftp

Estas en el tema de APORTE: Crear un sistema de ftp en el foro de PHP en Foros del Web. Hola, Cree un sistema de ftp básico, solo para dar una idea de cómo se hace. Tiene: * Visor de archivos en el servidor. * ...
  #1 (permalink)  
Antiguo 24/07/2008, 16:05
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 17 años, 2 meses
Puntos: 101
APORTE: Crear un sistema de ftp

Hola,
Cree un sistema de ftp básico, solo para dar una idea de cómo se hace.
Tiene:
* Visor de archivos en el servidor.
* Subir archivo
* Eliminar archivo
* Crear directorio
No esta ordenado. Si lo ordenan a las opciones mas y le ponen color va a quedar de 10.
Código:
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>
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);
?>
Para más información sobre la función ftp:
http://ar2.php.net/ftp
Gracias
Salu2
__________________
Half Music - www.halfmusic.com
  #2 (permalink)  
Antiguo 25/07/2008, 13:37
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 7 meses
Puntos: 11
Respuesta: APORTE: Crear un sistema de ftp

Gracias pato12!
  #3 (permalink)  
Antiguo 30/08/2008, 11:00
(Desactivado)
 
Fecha de Ingreso: julio-2008
Mensajes: 178
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: APORTE: Crear un sistema de ftp

que he de poner en nombre contraseña servidor y puerto?, cuando le doy a entrar em sale la pag en blanco
  #4 (permalink)  
Antiguo 02/09/2008, 14:16
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 17 años, 2 meses
Puntos: 101
Respuesta: APORTE: Crear un sistema de ftp

Hola,
Puede ser porque no pusiste bien los datos, no pusiste bien los nombres de los archivos, y otros.
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #5 (permalink)  
Antiguo 09/08/2010, 03:42
Avatar de elguaydelforo  
Fecha de Ingreso: agosto-2010
Ubicación: En el menú inicio, xddd
Mensajes: 28
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: APORTE: Crear un sistema de ftp

y a probar!!
  #6 (permalink)  
Antiguo 01/10/2013, 04:23
 
Fecha de Ingreso: octubre-2013
Ubicación: Catalunya
Mensajes: 3
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: APORTE: Crear un sistema de ftp

Muchas gracias! Funciona correctamente y muy útil!
  #7 (permalink)  
Antiguo 29/01/2014, 13:44
 
Fecha de Ingreso: noviembre-2013
Ubicación: Lima
Mensajes: 39
Antigüedad: 11 años, 1 mes
Puntos: 1
Respuesta: APORTE: Crear un sistema de ftp

a mi tambien me sale una pagina en blanco :S
  #8 (permalink)  
Antiguo 02/06/2014, 06:10
 
Fecha de Ingreso: febrero-2008
Mensajes: 115
Antigüedad: 16 años, 9 meses
Puntos: 4
Respuesta: APORTE: Crear un sistema de ftp

Aquí teneis una opción bastante interesante por estudiar:

http://www.net2ftp.com/
__________________
Estrella 923

Etiquetas: ftp
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

SíEste tema le ha gustado a 5 personas




La zona horaria es GMT -6. Ahora son las 07:30.