PHP FTP的相关函数及简单使用示例

简介

FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。
PHP FTP函数是通过文件传输协议提供对文件服务器的客户端访问,FTP函数用于打开、登陆以及关闭连接,也用于上传、下载、重命名、删除以及获取服务器上文件信息。

安装

PHP 的 Windows 版本内置了对 FTP 扩展的支持,无需下载;如运行的是PHP的Linux版本则需要安装扩张,即在编译PHP时添加 --enable-ftp 选项(PHP4 或以上版本)或者 --with-ftp 选项(PHP3 版本)。

PHP FTP函数

ftp_alloc() 为要上传到 FTP 服务器的文件分配空间。
ftp_cdup() 把当前目录改变为 FTP 服务器上的父目录。
ftp_chdir() 改变 FTP 服务器上的当前目录。
ftp_chmod() 通过 FTP 设置文件上的权限。
ftp_close() 关闭 FTP 连接。
ftp_connect() 打开 FTP 连接。
ftp_delete() 删除 FTP 服务器上的一个文件。
ftp_exec() 在 FTP 服务器上执行一个程序/命令。
ftp_fget() 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中。
ftp_fput() 上传一个已经打开的文件,并在 FTP 服务器上把它保存为一个文件。
ftp_get_option() 返回 FTP 连接的各种运行时选项。
ftp_get() 从 FTP 服务器上下载文件。
ftp_login() 登录 FTP 服务器。
ftp_mdtm() 返回指定文件的最后修改时间。
ftp_mkdir() 在 FTP 服务器上创建一个新目录。
ftp_nb_continue() 连续获取/发送文件。(无阻塞)
ftp_nb_fget() 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中。(无阻塞)
ftp_nb_fput() 上传一个已经打开的文件,并在 FTP 服务器上把它保存为一个文件。(无阻塞)
ftp_nb_get() 从 FTP 服务器上下载文件。(无阻塞)
ftp_nb_put() 把文件上传到 FTP 服务器上。(无阻塞)
ftp_nlist() 返回 FTP 服务器上指定目录的文件列表。
ftp_pasv() 把被动模式设置为打开或关闭。
ftp_put() 把文件上传到 FTP 服务器上。
ftp_pwd() 返回当前目录名称。
ftp_quit() ftp_close() 的别名。
ftp_raw() 向 FTP 服务器发送一个 raw 命令。
ftp_rawlist() 返回指定目录中文件的详细列表。
ftp_rename() 重命名 FTP 服务器上的文件或目录。
ftp_rmdir() 删除 FTP 服务器上的一个目录。
ftp_set_option() 设置 FTP 连接的各种运行时选项。
ftp_site() 向服务器发送 SITE 命令。
ftp_size() 返回指定文件的大小。
ftp_ssl_connect() 打开一个安全的 SSL-FTP 连接。
ftp_systype() 返回 FTP 服务器的系统类型标识符。

PHP FTP 常量

FTP_ASCII
FTP_TEXT
FTP_BINARY
FTP_IMAGE
FTP_TIMEOUT_SEC
FTP_AUTOSEEK
FTP_AUTORESUME 为 GET 和 PUT 请求自动决定恢复和开始的位置
FTP_FAILED 异步传输失败
FTP_FINISHED 异步传输成功
FTP_MOREDATA 异步传输是活动状态的

使用示例:

上传文件简单示例代码

 $host = '127.0.0.1'; //服务器IP$user = 'admin'; //账户$pwd = '123456';//密码//尝试连接一个 FTP 服务器  21为端口,默认21$f_conn=ftp_connect($host,21);//登陆FTP服务器   参数1:规定要登录的 FTP 连接;参数2:规定用于登录的用户名;参数3规定用于登录的密码。三个参数都为必填$f_login = ftp_login($f_conn,$user,$pwd);//把文件上传到服务器上,参数1:使用的FTP链接,参数2:上传到FTP服务器上报存的文件,参数3:要上传的文件,参数4:传输模式,可选FTP_ASCII、FTP_BINAR,参数5:在本地文件中的何处开始复制。默认是 0;参数1-4必填,参数5选填$result = ftp_put($f_conn,'toText.txt', 'fromText.txt', FTP_ASCII);//关闭连接ftp_close($f_conn);

以上是一个简单的使用示例,大家可根据自己的实际情况来使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/40334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu下mysql8开启远程连接

环境 mysql8ubuntu22.04 更改配置文件 vim /etc/mysql/mysql.conf.d/mysqld.conf找到 bind-address 127.0.0.1 mysqlx-bind-address 127.0.0.1 把这两行注释掉,保存退出即可 修改mysql配置 登录mysql创建一个远程连接账户,名字任意,密码任意,用户名…

前端高频面试题 Day02

面试题 var 和 let const 的区别 var 是 ES5 及之前的语法,let const 是 ES6 语法var 和 let 是变量,可修改;const 是常量,不可修改var 有变量提升,let const 没有var 没有块级作用域,let const 有 &…

JavaWeb-DAO设计模式

目录 DAO设计模式 1.认识DAO 2.DAO各部分的详解 3.DAO设计模式流程 DAO设计模式 1.认识DAO DAO(Data Acess Object 数据库访问对象)的主要功能是操作数据库,所以DAO在标准开发架构中数据数据层,以下是标准开发的架构 客户层:目前使用B/…

vue中style scoped属性的作用

一、为什么要给style 节点加 scoped 属性(vue) 1、作用:当style标签里面有scoped属性时,它的css只作用于当前组建的元素。在单页面项目中可以使组件之间互不污染,实现模块化(实现组件的私有化,不…

Ubuntu安装mysql5.7

目录 1. 更新系统软件包2. 安装MySQL 5.73. 启动MySQL 服务4. 设置MySQL root 密码5. 验证MySQL 安装6. 启用远程访问7. 创建新用户8. 为新用户授予权限9. mysql命令 以Ubuntu 18.04系统为例,安装MySQL 5.7。操作步骤如下: 1. 更新系统软件包 sudo apt…

Openai中的tokens怎么估计

大规模语言模型(LLM)的出现给自然语言处理领域带来了变革的可能性,Openai开放了chatgpt的API,方便了开发人员使用LLM的推理能力,注册时赠送5美元的使用额度,有效期3个月。 如果想便捷的使用chatgpt的API&a…

介绍 TensorFlow 的基本概念和使用场景

TensorFlow 是一种开源的机器学习框架,由 Google 开发。它是用来构建和训练机器学习模型的强大工具,支持很多种不同类型的机器学习算法,并使用数据流图来表示计算过程。 TensorFlow 的核心是张量 (Tensor) 和计算图 (Graph)。 张量 (Tensor)…

OpenCV之薄板样条插值(ThinPlateSpline)

官方文档&#xff1a;OpenCV: cv::ThinPlateSplineShapeTransformer Class Reference 使用方法&#xff1a; 头文件&#xff1a;#include <opencv2/shape/shape_transformer.hpp> &#xff08;1&#xff09;点匹配 一般根据有多少个样本&#xff08;或者点&#xff09;…

6.2 Spring Boot整合MyBatis

1、基于Spring BootMyBatis的学生信息系统的设计与实现案例 基于Spring BootMyBatis实现学生信息的新增、修改、删除、查询功能&#xff0c;并实现MySQL数据库的操作。 MySQL数据库创建学生表&#xff08;t_student&#xff09;&#xff0c;有主键、姓名、年龄、性别、出生日…

npm如何设置淘宝的镜像源模式

1. 查看当前npm的下载源 npm config get registry2. 全局配置npm使用淘宝镜像作为默认下载源 npm config set registry https://registry.npm.taobao.org --global3. 安装依赖包 npm install <package-name> 添加到devDependencies字段中&#xff1a; npm install &l…

Jmeter 二次开发 函数助手 AES加解密

Jmeter 二次开发 函数助手 AES加解密 1. 环境准备2. 关键技术说明2.1 离线导包2.2 示例代码 3. 代码包4. 结果演示 1. 环境准备 IDE &#xff1a;IntelliJ IDEA 2021.1.1 x64JAVA环境 &#xff1a;jdk1.8.0_251离线导包&#xff1a;导入Jmeter安装目录下lib/ext下的ApacheJmet…

Java课题笔记~ SpringMVC的四种跳转方式

默认的跳转是请求转发&#xff0c;直接跳转到jsp页面展示 还可以使用框架提供的关键字redirect&#xff0c;进行一个重定向操作&#xff0c;包括重定向页面和重定向action&#xff0c;使用框架提供的关键字forward&#xff0c;进行服务器内部转发操作&#xff0c;包括转发页面…

Martin_DHCP_V3.0 (DHCP自动化泛洪攻击GUI)

Github>https://github.com/MartinxMax/Martin_DHCP_V3.0 首页 Martin_DHCP_V3.0 自动化DHCP洪泛攻击 Martin_DHCP_V3.0 使用方法 安装三方库 #python3 1.RunMe_Install_Packet.py 攻击路由器 #python3 Martin_DHCP_Attack.py 填写网卡 填写攻击次数 开始运行

《Go 语言第一课》课程学习笔记(二)

初窥门径&#xff1a;一个 Go 程序的结构是怎样的&#xff1f; 创建“hello&#xff0c;world”示例程序 在 Go 语言中编写一个可以打印出“hello&#xff0c;world”的示例程序&#xff0c;我们只需要简单两步&#xff0c;一是创建文件夹&#xff0c;二是开始编写和运行。通…

高光谱 | 矿物识别和分类标签数据制作、农作物病虫害数据分类、土壤有机质含量回归与制图、木材含水量评估和制图

本课程提供一套基于Python编程工具的高光谱数据处理方法和应用案例。 本课程涵盖高光谱遥感的基础、方法和实践。基础篇以学员为中心&#xff0c;用通俗易懂的语言解释高光谱的基本概念和理论&#xff0c;旨在帮助学员深入理解科学原理。方法篇结合Python编程工具&#xff0c;…

阿里云服务器部署RabbitMQ流程

阿里云百科分享使用阿里云服务器部署RabbitMQ流程&#xff0c;RabbitMQ是实现了高级消息队列协议&#xff08;AMQP&#xff09;的开源消息代理软件&#xff0c;用于在分布式系统中存储转发消息&#xff0c;有良好的易用性、扩展性和高可用性。本文介绍如何通过ECS实例部署Rabbi…

CentOS系统环境搭建(四)——Centos7安装Java

centos系统环境搭建专栏&#x1f517;点击跳转 Centos7安装Java 查看云端yum库中目前支持安装的jdk软件包 yum search java|grep jdk选择JDK版本&#xff0c;并安装 yum install -y java-1.8.0-openjdk检查是否安装成功 java -version查看JDK的安装目录 find / -name jav…

【Java面试】redis雪崩、穿透和击穿详解

一 Redis雪崩、穿透和击穿 1. Redis雪崩&#xff1a; Redis雪崩是指在某一时刻&#xff0c;缓存中大量的缓存数据同时失效或过期&#xff0c;导致大量的请求直接打到后端数据库&#xff0c;导致数据库负载剧增&#xff0c;引发性能问题甚至崩溃。这通常是因为缓存数据的过期时…

机器学习笔记:李宏毅 stable diffusion

1 基本框架 ①&#xff1a;文字变成向量 ②&#xff1a;喂入噪声文字encoder&#xff0c;产生中间产物 ③&#xff1a;decoder 还原图片 2 text encoder 这张图越往右下表示效果越好&#xff0c;可以看到text encoder尺寸越大&#xff0c;对后续生成图片的增益越多 3 评价图…

公园游玩必备!新零售模式如何吸引更多游客

随着科技的不断演进&#xff0c;新零售模式正以前所未有的速度改变着我们的购物方式和消费体验。其中&#xff0c;自动售货机作为新零售模式的重要组成部分&#xff0c;以其智能化、便捷性和多样性的特点&#xff0c;正逐渐成为城市中熠熠生辉的一道风景线。 从24小时不间断的运…