FTP控制系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP控制系统相关的知识,希望对你有一定的参考价值。

  1. Hola,
  2. Cree un sistema de ftp básico, solo para dar una idea de cómo se hace.
  3. Tiene:
  4.  
  5. * Visor de archivos en el servidor.
  6. * Subir archivo
  7. * Eliminar archivo
  8. * Crear directorio
  9. No esta ordenado. Si lo ordenan a las opciones mas y le ponen color va a quedar de 10.
  10. Código:
  11.  
  12.  
  13. Index.php
  14.  
  15. <?php
  16. if($_POST){
  17. $_SESSION['us_ftp']=$_POST['us_ftp'];
  18. $_SESSION['cl_ftp']=$_POST['cl_ftp'];
  19. $_SESSION['sr_ftp']=$_POST['sr_ftp'];
  20. $_SESSION['pr_ftp']=$_POST['pr_ftp'];
  21. header("location: ftp_conection.php");
  22. }
  23. ?>
  24. <fieldset><legend>Conexion a servidor via FTP</legend><form action="" method="post" name="cx_ftp" id="cx_ftp">
  25. <strong>Usuario:</strong><br>
  26. <input name="us_ftp" type="text" id="us_ftp">
  27. <br>
  28. <strong>Clave:</strong><br>
  29. <input name="cl_ftp" type="password" id="cl_ftp">
  30. <br>
  31. <strong>Servidor:</strong><br>
  32. <input name="sr_ftp" type="text" id="sr_ftp">
  33. <br>
  34. <strong>Puerto:</strong><br>
  35. <input name="pr_ftp" type="text" id="pr_ftp">
  36. <br>
  37. <input name="ev_ftp" type="submit" id="ev_ftp" value="Entrar">
  38. <input name="rs_ftp" type="reset" id="rs_ftp" value="Borrar datos">
  39. </form>
  40. </fieldset>
  41.  
  42. ftp_conection.php
  43.  
  44. <?php
  45. //////////////////////
  46. $usuario=$_SESSION['us_ftp'];
  47. $clave=$_SESSION['cl_ftp'];
  48. $servidor=$_SESSION['sr_ftp'];
  49. $puerto=($_SESSION['pr_ftp']=="")? 21 : $_SESSION['pr_ftp'];
  50. $ftp[email protected]ftp_connect($servidor,$puerto,600);
  51. $conec[email protected]ftp_login ($ftp, $usuario, $clave);
  52. if(!$ftp)
  53. die("No se pudo conectar al servidor.");
  54. elseif(!$conec)
  55. die("Conexion rechasada.");
  56. echo '<script>
  57. var sin_selec="#";
  58. var con_selec="#E4E4E4";
  59. function marcar(obj) {
  60. elem=obj.parentNode.parentNode;
  61. elem.style.backgroundColor=(obj.checked) ? con_selec : sin_selec;
  62. }
  63.  
  64. function marcarTodos(obj) {
  65. elem=document.getElementsByName("select[]");
  66. for(i=0;i<elem.length;i++) {
  67. elem[i].checked=obj.checked;
  68. fila=elem[i].parentNode.parentNode;
  69. fila.style.backgroundColor=(obj.checked) ? con_selec : sin_selec;
  70. }
  71. }
  72. </script>
  73. '; // Escibimos una funcion javascript
  74. ////////////////////
  75. if(!isset($_GET['c']))
  76. $dir_pr=ftp_pwd($ftp);
  77. else
  78. $dir_pr=$_GET['c'];
  79. ////////////////////
  80. if($_POST && $_POST['v']=="e"){
  81. foreach($_POST['select'] as $es_val){// Abrimos el foreach
  82. if($ar) // Si no es carpeta
  83. echo "Se a eliminado correctamente.<br>";
  84. else// De lo contrario
  85. echo "No se pudo eliminar.<br>";
  86. } // Cerramos el foreach
  87. }
  88. if($_POST && $_POST['v']=="c"){
  89. $dir=$dir_pr.$_POST['dir'];
  90. if (@ftp_mkdir($ftp, $dir)) {
  91. echo "Se a creado "$dir" con exito ";
  92. } else {
  93. echo "Hubo un problema al crear $dir ";
  94. }
  95. }
  96. if($_POST && $_POST['v']=="s"){
  97. $local_file = $dir_pr.$_FILES['txt_file']['tmp_name'];
  98. $destination_file = $dir_pr.basename($_FILES['txt_file']['name']);
  99. $upload = ftp_put($ftp, $destination_file, $local_file, FTP_BINARY);
  100. if($upload)
  101. echo "Se a subido correctamente.";
  102. else
  103. echo "No se pudo subir correctamente.";
  104. }
  105. if($_POST && $_POST['v']=="sa"){
  106. echo "Chau";
  107. }
  108.  
  109. ///////////////////
  110. $pag=array();
  111. echo "Directorio: ".$dir_pr;
  112. if($dir_pr!="/")
  113. echo "<br><a href='?c=/'>Ir al principio</a>";
  114. echo '<form action="" name="selected" method="post"><table width="761" border="0" align="center" cellpadding="2" cellspacing="2"> <tr>
  115. <td width="445" height="19" bgcolor="#999999"><strong>Archivo o directorio </strong></td>
  116. <td width="276" bgcolor="#999999"><strong>Tama&ntilde;o</strong></td>
  117. <td width="20" bgcolor="#999999"><input type="checkbox" onClick="marcarTodos(this)" name="todos"/></td>
  118. </tr>
  119. ';
  120. $contenidos = ftp_nlist($ftp,$dir_pr);
  121. $i=0;
  122. foreach($contenidos as $cont){
  123. $tamaño=ftp_size($ftp,$dir_pr.$cont);
  124. if($tamaño==-1 && $cont!="." && $cont!="..")
  125. $pag[]="<tr>
  126. <td><a href='?c=".$dir_pr.$cont."/'>$cont</a></td>
  127. <td >-</td>
  128. <td >-</td>
  129. </tr>
  130. ";
  131. elseif($cont!="." && $cont!="..")
  132. $pag[]="<tr>
  133. <td>$cont</td>
  134. <td >$tamaño bytes</td>
  135. <td > <input type='checkbox' onClick='marcar(this)' name='select[]' value='".$dir_pr.$cont."' /> </td>
  136. </tr>
  137. ";
  138. $i=$i+$tamaño;
  139. }
  140. echo implode('',$pag);
  141. echo '</table><input name="eliminar" type="submit" value="Eliminar selecionados"><input name="v" type="hidden" value="e"></form>';
  142. 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>';
  143. echo ' <form action="" method="POST" enctype="multipart/form-data">
  144. <input name="v" type="hidden" value="s">
  145. Subir archivo: <input name="txt_file" type="file" size="35" />
  146. <input type="submit" name="subir" value="Subir archivo"/>
  147. </form>';
  148. echo "Tamaño aprox. de todos los archivos: ".$i." bytes";
  149. echo '<form method="post"><input name="v" type="hidden" value="sa"><input name="salir" value="Salir" type="submit"></form>';
  150. ftp_close($ftp);
  151.  
  152. Bueno espero que les sea de utilidad
  153.  
  154.  
  155. BEY Y SALU2

以上是关于FTP控制系统的主要内容,如果未能解决你的问题,请参考以下文章

WindowsWin10系统搭建匿名FTP服务器详解

FTP控制系统

在腾讯云上面安装宝塔系统之后,ftp不能连接。

Windows10搭建FTP服务

Linux中Centos7系统搭建FTP服务详细过程

开启windows 系统自带FTP服务器