PHP实现ftp上传文件示例


Posted in PHP onAugust 21, 2014

FTP上传是PHP实现的一个常见且非常重要的应用技巧,今天就来与大家分享一下PHP实现FTP上传文件的简单示例。希望对大家的PHP学习能带来一定的帮助。

主要代码如下:

function make_directory($ftp_stream, $dir){
  // if directory already exists or can be immediately created return true
  if ($this->ftp_is_dir($ftp_stream, $dir) || @ftp_mkdir($ftp_stream, $dir)) return true;
  // otherwise recursively try to make the directory
  if (!$this->make_directory($ftp_stream, dirname($dir))) return false;
  // final step to create the directory
  return ftp_mkdir($ftp_stream, $dir);
}
 
function ftp_is_dir($ftp_stream, $dir){
  // get current directory
  $original_directory = ftp_pwd($ftp_stream);
  // test if you can change directory to $dir
  // suppress errors in case $dir is not a file or not a directory
  if ( @ftp_chdir( $ftp_stream, $dir ) ) {
    // If it is a directory, then change the directory back to the original directory
    ftp_chdir( $ftp_stream, $original_directory );
    return true;
  } else {
    return false;
  }
}

$conn = ftp_connect("ftp地址") or die("Could not connect");
ftp_login($conn,"ftpname","password");
//利用ftp创建目录
make_directory($conn,$path);
//利用ftp选择进入目录
ftp_chdir($conn,$path);
//开始上传
if(ftp_put($conn,$info[0]['savename'],getcwd().$upload->savePath.$info[0]['savename'],FTP_BINARY)){
 unlink(getcwd().$upload->savePath.$info[0]['savename']);
}
ftp_close($conn);
//注意上传端的ftp权限设置

感兴趣的朋友可以测试运行或改写本文所述代码,加深理解的同时可以让代码功能更加完善。

PHP 相关文章推荐
杏林同学录(二)
Oct 09 PHP
PHP下几种删除目录的方法总结
Aug 19 PHP
smarty section简介与用法分析
Oct 03 PHP
PHP求最大子序列和的算法实现
Jun 24 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
php生成mysql的数据字典
Jul 07 PHP
php-fpm服务启动脚本的方法
Apr 27 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
Aug 21 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 PHP
PHP高手需要要掌握的知识点
Aug 21 #PHP
PHP中数据库单例模式的实现代码分享
Aug 21 #PHP
PHP中的日期加减方法示例
Aug 21 #PHP
PHP中比较时间大小实例
Aug 21 #PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 #PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 #PHP
PHP实现的多彩标签效果代码分享
Aug 21 #PHP
You might like
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
php批量上传的实现代码
2013/06/09 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
php无限遍历目录示例
2014/02/21 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
基于jquery的图片懒加载js
2010/06/30 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
2015/03/04 Javascript
使用console进行性能测试
2015/04/27 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
python中可以声明变量类型吗
2020/06/18 Python
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
2014年政协委员工作总结
2014/12/01 职场文书
通用员工手册范本
2015/05/14 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏