PHP Crear un sistema de FTP con PHP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Crear un sistema de FTP con PHP相关的知识,希望对你有一定的参考价值。
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
<?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
<?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="#";
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_file, FTP_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==-1 && $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);
Bueno espero que les sea de utilidad
BEY Y SALU2
以上是关于PHP Crear un sistema de FTP con PHP的主要内容,如果未能解决你的问题,请参考以下文章
php Dockerfile para probarunainstalaciónlimpiadel SDK de MercadoPago para php,requiere crear un
text Crear un nuevo tipo de attribute Set
sh sshfs的。 Montar un sistema remoto de ficheros en local mediante el comando ssh en linux。
sh sshfs的。 Montar un sistema remoto de ficheros en local mediante el comando ssh en linux。
php Crear un usuario administrador desde functions.php
php Crear un anchor en una vista reescribiendo el contenidodeltiítulo