PHP FTP上传文件
ftp_connect(host,port,timeout);
host必需,规定要连接的 FTP 服务器,可以是域名或 IP 地址,后面不应以斜线结尾,前面也不需要用 ftp:// 开头。
port可选,规定 FTP 服务器的端口。
timeout可选,规定该 FTP 服务器的超时时间,默认是 90 秒。
返回值:若成功,则返回一个连接标识,否则返回 false。
第二步:登陆FTP。
ftp_login(ftp_connection,username,password);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
username必需,规定用于登录的用户名。
password必需,规定用于登录的密码。
返回值:若成功则返回 true,失败则返回 false 并发出一个警告。
第三步:改变 FTP 服务器上的当前目录或在 FTP 服务器上建立新目录。
(1)改变 FTP 服务器上的当前目录。
ftp_chdir(ftp_connection,directory);
tp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
directory必需,规定要切换到的目录。
返回值:若成功,则返回 true,否则返回 false,如果切换目录失败,PHP 还会发出一条警告。
(2)在 FTP 服务器上建立新目录。
ftp_mkdir(ftp_connection,dir);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
dir必需,规定要创建的目录的名称。
返回值:若成功,则返回 true,否则返回 false。
第四步:查看FTP当前目录。
ftp_pwd(ftp_connection);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
返回值:返回FTP的当前目录。
第五步:把文件上传到服务器。
ftp_put(ftp_connection,remote,local,mode,resume);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
remote必需,上传到服务器上的文件名。
local,必需,规定要上传的本地文件的路径。
mode必需,规定传输模式,可能的值有:FTP_ASCII、FTP_BINARY。
resume必需,规定在本地文件中的何处开始拷贝,默认是0。
返回值:若成功则返回 true,失败则返回 false。
第六步:关闭 FTP 连接。
ftp_close(ftp_connection);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
实例代码:
<?php
$ftp_connection = ftp_connect('xxx.com',21,1000);
ftp_login($ftp_connection, 'xxxName', 'xxxPWD');
ftp_chdir($ftp_connection, '/blogs/test');
//echo ftp_pwd($ftp_connection);
$r = ftp_put($ftp_connection, 'romote.txt', './local.txt', FTP_BINARY);
var_dump($r);
ftp_close($ftp_connection);
?>
FTP相关的其他函数
(1)删除 FTP 服务器上的一个文件。
ftp_delete(ftp_connection,path);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
path必需,规定要删除的文件的路径。
返回值:若成功,则返回 true,否则返回 false。
(2)获取文件的最后修改时间。
ftp_login(ftp_connection,file);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
file必需,规定要检查的文件。
返回值:如:int 1338845458。
注释:并非所有 FTP 服务器都支持该函数,该函数不适用于检查目录。
(3)删除目录。
ftp_rmdir(ftp_connection,dir);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
dir必需,规定要删除的目录。
返回值:若成功,则返回 true,否则返回 false。
注释:删除的目录下不能包含子目录和文件。
(4)设置 FTP 服务器上指定文件的权限
ftp_chmod(ftp_connection,mode,file);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
mode必需,规定新的权限。
file必需,规定要修改权限的文件的名称。
返回值:若成功,返回设置的权限值,否则返回false。
(5)获取指定目录的文件列表。
ftp_nlist(ftp_connection,dir);
ftp_connection必需,规定要使用的 FTP 连接(FTP 连接的标识符)。
dir必需,规定要检查的目录,使用 '.' 来获得当前目录。
返回值:若成功,则返回给定目录下的文件名组成的数组,否则返回 false。
<?php
/**
* ftp上传下载文件
* edit www.jbxue.com
*/
$ftp_server='www.jbxue.com';//服务器
$ftp_user_name='jbxue.com';//用户名
$ftp_user_pass='password';//密码
$ftp_port='21';//端口
$ftp_put_dir='data/photo/thumb/data2';//上传目录
$ftp_conn_id = ftp_connect($ftp_server,$ftp_port);
$ftp_login_result = ftp_login($ftp_conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$ftp_conn_id) || (!$ftp_login_result)) {
echo "连接到ftp服务器失败";
exit;
} else {
ftp_pasv ($ftp_conn_id,true); //是否被动模式
ftp_chdir($ftp_conn_id, $ftp_put_dir);
$ftp_upload = ftp_put($ftp_conn_id, '3c264461abdf49de2ddaabc3426ceb65.jpg', 'data\jbxue.com\3c264461abdf49de2ddaabc3426ceb65.jpg', FTP_BINARY);
//var_dump($ftp_upload);//看看写入成功否?
ftp_close($ftp_conn_id); //断开
}
?>
PHP FTP上传文件的更多相关文章
- .net FTP上传文件
FTP上传文件代码实现: private void UploadFileByWebClient() { WebClient webClient = new WebClient(); webClient ...
- 通过cmd完成FTP上传文件操作
一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...
- FTP上传文件到服务器
一.初始化上传控件. 1.我们这里用dropzone.js作为上传控件,下载地址http://www.dropzonejs.com/ 2.这里我们使用一个div元素作为dropzone载体. < ...
- 再看ftp上传文件
前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在 ...
- FTP上传文件提示550错误原因分析。
今天测试FTP上传文件功能,同样的代码从自己的Demo移到正式的代码中,不能实现功能,并报 Stream rs = ftp.GetRequestStream()提示远程服务器返回错误: (550) 文 ...
- FTP 上传文件
有时候需要通过FTP同步数据文件,除了比较稳定的IDE之外,我们程序员还可以根据实际的业务需求来开发具体的工具,具体的开发过程就不细说了,这里了解一下通过C#实现FTP上传文件到指定的地址. /// ...
- Java ftp 上传文件和下载文件
今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接: ...
- C# FTP上传文件至服务器代码
C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo ...
- Java ftp上传文件方法效率对比
Java ftp上传文件方法效率对比 一.功能简介: txt文件采用ftp方式从windows传输到Linux系统: 二.ftp实现方法 (1)方法一:采用二进制流传输,设置缓冲区,速度快,50M的t ...
- Ftp上传文件
package net.util.common; import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...
随机推荐
- Asp.net基础知识
1.[项目结构] 1.1文件后缀: .cs 源文件(程序代码) .csproj 项目文件(管理文件项) .sln 解决方案文件(管理项目) .config ...
- 关于ios的手势识别(GestureRecognizers)讲解
大家都知道,苹果的设备,不管是mac机器还是iPhone或iad,都支持多点触控,进而延伸了多种手势识别的功能.这为用户带来了很大的便携性和多样灵活性,极大的方便了用户的使用.足以见手势识别(Gest ...
- STM32F40xxx 与 STM32F41xxx Flash结构详解
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 硬件平台:STM32F4 DISCOVERY开发板 型号:MB997A或MB997C主芯片型号:ST ...
- 安装Debian 7.8 过程,以及该系统的配置过程
最近,我给自己的电脑安装了Debian操作系统,版本7.8 stable.Debian我相信大家都能了解,它是Ubuntu的基础,Ubuntu是基于Debian的unstable开发的.我安装这个系统 ...
- 算法之合并排序(mergeSort)
合并排序算法在结构上是递归的,采用分治策略:就是将原有的问题划分为 n 个规模较小但结构与原问题相似的子问题,递归地解决这些子问题,然后合并其结果,就得到原问题的解. 合并排序的模式一般如下: 1.分 ...
- Cakephp 创建无模型的Controller
控制器(Controller)如果没有特定的表/模型关联的话,哪怕建测试都会出错,但你可以加一行到控制器(Controller)里就好了public $uses=array(); 或者 public ...
- MySQL大数据量快速分页实现
一般刚开始学SQL语句的时候,会这样写 代码如下: SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 代码如下: ...
- 开发设计模式(七)工厂模式(Factory Method Pattern)
工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见. 为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根 ...
- IIS MIME类型问题(html5 video 本地打开可以,IIS打开不了)
问题: mediaelement js(html 5 视频插件)网页用ie9本地打开可以,iis,vs2010在ie9上运行不了,chrome可以 (在博客园里有个人跟我遇到相同的问题:http:// ...
- Discuz CDN优化方案
DZ整体来说CDN是有点蛋疼的,因为毕竟琐碎,貌似大部分帖子都没有说全,这里罗列一下,给在用的孩儿们一点参考: 1.在后台设置CSS/JS走CDN路径,具体[全局]-[性能优化]-[服务器优化] 2. ...