PHP连接FTP服务:

  1. <?php
  2.  
  3. class Ftp
  4. {
  5. private $connect;
  6. private $getback;
  7.  
  8. /**
  9. * ftp连接信息
  10. * @var array
  11. */
  12. private $ftpConnInfo = [
  13. 'host' => '127.0.0.1',
  14. 'port' => '21',
  15. 'timeout' => '90',
  16. ];
  17.  
  18. //连接FTP
  19. function connect ($user, $passwd)
  20. {
  21. $this->connect = @ftp_connect(...$this->ftpConnInfo);
  22. $login = @ftp_login($this->connect, "{$user}", "{$passwd}");
  23. if ((!$this->connect)(!$login)) {
  24. echo "connect failed: {$this->ftpConnInfo['host']} for user {$user} \n";
  25. die;
  26. } else {
  27. echo "Connected success \n";
  28. }
  29. }
  30.  
  31. /**
  32. * 获取文件最后的修改时间
  33. * @param $remoteFile
  34. * @return int the last modified time as a Unix timestamp on success, or -1 on error
  35. */
  36. function lastmodtime ($remoteFile)
  37. {
  38. return ftp_mdtm($this->connect, $remoteFile);
  39. }
  40.  
  41. /**
  42. * 更改当前目录
  43. * @param $directory
  44. * @return bool
  45. */
  46. function changedir ($directory)
  47. {
  48. return ftp_chdir($this->connect, $directory);
  49. }
  50.  
  51. /**
  52. * 获取当前目录
  53. * @return string
  54. */
  55. function getdir ()
  56. {
  57. return ftp_pwd($this->connect);
  58. }
  59.  
  60. /**
  61. * 获取目录中的文件列表
  62. * @param $directory
  63. * @return array
  64. */
  65. function getFilelist ($directory)
  66. {
  67. return ftp_nlist($this->connect, $directory);
  68. }
  69.  
  70. /**
  71. * 设置被动模式是否开启,true开启
  72. * @param $pasvmode
  73. * @return bool
  74. */
  75. function setPasvmode ($pasvmode)
  76. {
  77. //把FTP服务器部署在防火墙或者NAT服务器的背后,
  78. //则采用主动操作模式的客户端只能够建立命令连接而无法进行文件传输
  79. return ftp_pasv($this->connect, $pasvmode);
  80. }
  81.  
  82. /**
  83. * 退出ftp连接
  84. */
  85. function closeFtp ()
  86. {
  87. ftp_quit($this->connect);
  88. }
  89. }

PHP连接FTP服务的简单实现的更多相关文章

  1. Java实现连接FTP服务并传递文件

    public class FtpClientUtil { private String host; private int port; private String username; private ...

  2. 【控制连接实现信息共享---linux和设备下ssh和远程连接telnet服务的简单搭建】

    SSH的配置 空密码登陆ssh server 如果要登录ssh server通常要在server和client之间采取具有共同加密的秘钥,若每次当client想要了:连接ssh server时都要手工 ...

  3. 阿里云服务器连接ftp服务(软件的使用)

    首先你需要有一个阿里云的ECS服务器 开通了宽带之后,ECS服务器就可以上网了 可以在本地电脑cmd控制台运行mstsc.exe启动远程桌面连接 windows+R 计算机名输入ECS服务器的公网ip ...

  4. Linux 安装FTP服务

    Linux 安装FTP服务,简单入门 环境: 虚拟机:Oracle VM VirtualBox. 系统:CentOS 7. (1)判断是否安装了ftp: rpm -qa | grep vsftpd 或 ...

  5. FTP服务-filezilla server 配置

    一.下载Filezilla  Server 官网网址:https://filezilla-project.org/download.php?type=server 二.安装Filezilla  Ser ...

  6. 网络编程4 网络编程之FTP上传简单示例&socketserver介绍&验证合法性连接

    今日大纲: 1.FTP上传简单示例(详细代码) 2.socketserver简单示例&源码介绍 3.验证合法性连接//[秘钥加密(urandom,sendall)(注意:中文的!不能用)] 内 ...

  7. Unity使用C#实现简单Scoket连接及服务端与客户端通讯

    简介: 网络编程是个很有意思的事情,偶然翻出来很久之前刚开始看Socket的时候写的一个实例,贴出来吧 Unity中实现简单的Socket连接,c#中提供了丰富的API,直接上代码. 服务端代码: [ ...

  8. ftplib模块编写简单的ftp服务

    from ftplib import * import os,readline import sys class MyFtp: ftp = FTP() #建立一个ftp对象的链接 '): #构造函数初 ...

  9. Centos 7 部署FTP服务简单版

    第三方教程推荐与参考: http://blog.csdn.net/somehow1002/article/details/70232791 先安装成功了,有信心了.再进一步扩展配置. 1.安装vsft ...

随机推荐

  1. PHP_CodeIgniter Github实现个人空间

    github支持github Pages 可以实现自己的个人空间 XXX.github.io/project 1 注册自己的github账户 2 需要设置自己的user_name, user_name ...

  2. mybatis输出映射总结

    使用resultType作为输出映射 只有查询出来的列名和pojo中的属性名一致时,才会映射成功, 如果不一致,可以使用resultMap最为输出类型 不管是输出单个对象还是列表(list中包括poj ...

  3. MySQL-第一篇认识MySQL

    1.什么是mysql mysql是一种关系型数据库,是瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品. 2.mysql的安装 下载mysql-installer-community- ...

  4. 转义BABEL的POLYFILL和RUNTIME的区别

    babel-polyfill 使用场景 Babel 默认只转换新的 JavaScript 语法,而不转换新的 API.例如,Iterator.Generator.Set.Maps.Proxy.Refl ...

  5. 11、numpy——字符串函数

    NumPy 字符串函数 以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作. 它们基于 Python 内置库中的标准字符串函数. ...

  6. java 日期工具

    package com.neuxa.is.workflow.utils; import java.sql.Timestamp;import java.text.DateFormat;import ja ...

  7. mintUI修改toast样式的问题解决办法

    在公共样式中加入 /*修改mintUI 弹窗样式大小*/ .noticeErrorToast{ transform: scale(2) !important; margin-left:-.6rem ! ...

  8. 攻防世界--re2-cpp-is-awesome

    测试文件:https://adworld.xctf.org.cn/media/task/attachments/c5802869b8a24033b4a80783a67c858b 1.准备 获取信息 6 ...

  9. 20180119-01-RACSignal的基础

    一.获取一个信号的方式 1.单元信号 RACSignal *signal1 = [RACSignal return:@"Some Value"]; RACSignal *signa ...

  10. I2C走线技巧