- 浏览: 2035238 次
- 来自: 武汉
文章分类
- 全部博客 (415)
- UI设计 (19)
- PHP (26)
- PHP工具类 (23)
- 二次开发 (53)
- phpMVC (28)
- javascript (50)
- JS 组件 (20)
- MYSQL (37)
- 其他 (16)
- xml/flash/flex (6)
- 版本控制 (7)
- 开源 (4)
- bug解决 (5)
- Linux (15)
- NoSQL (14)
- 软件设计 (21)
- C/PHP内核 (5)
- 安全性 (8)
- 面试 (18)
- 设计模式 (4)
- 重构 (6)
- 开发配置 (11)
- SQL SERVER (12)
- 采集 (3)
- SEO (2)
- 维护 (15)
- UML (5)
- 硬件标准 (1)
- 架构 (8)
- JAVA (1)
最新评论
-
carry0987:
求大神分離下X3的模板...不然對於PHP7不友好啊...
分离自Discuz模板类和语法 -
青木得海角:
你好,里面的 Crypt/TripleDES.php 和 Cr ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
q59200182:
能不能给个完整的demo 新手上路不会 求带
AngularJs 指令directive之controller,link,compile
<?php /** * FTP操作类 * @author chenzhouyu * *使用$ftps = pc_base::load_sys_class('ftps');进行初始化。 *首先通过 $ftps->connect($host,$username,$password,$post,$pasv,$ssl,$timeout);进行FTP服务器连接。 *通过具体的函数进行FTP的操作。 *$ftps->mkdir() 创建目录,可以创建多级目录以“/abc/def/higk”的形式进行多级目录的创建。 *$ftps->put()上传文件 *$ftps->rmdir()删除目录 *$ftps->f_delete()删除文件 *$ftps->nlist()列出指定目录的文件 *$ftps->chdir()变更当前文件夹 *$ftps->get_error()获取错误信息 */ class ftps { //FTP 连接资源 private $link; //FTP连接时间 public $link_time; //错误代码 private $err_code = 0; //传送模式{文本模式:FTP_ASCII, 二进制模式:FTP_BINARY} public $mode = FTP_BINARY; /** * 连接FTP服务器 * @param string $host 服务器地址 * @param string $username 用户名 * @param string $password 密码 * @param integer $port 服务器端口,默认值为21 * @param boolean $pasv 是否开启被动模式 * @param boolean $ssl 是否使用SSL连接 * @param integer $timeout 超时时间 */ public function connect($host, $username = '', $password = '', $port = '21', $pasv = false, $ssl = false, $timeout = 30) { $start = time(); if ($ssl) { if (!$this->link = @ftp_ssl_connect($host, $port, $timeout)) { $this->err_code = 1; return false; } } else { if (!$this->link = @ftp_connect($host, $port, $timeout)) { $this->err_code = 1; return false; } } if (@ftp_login($this->link, $username, $password)) { if ($pasv) ftp_pasv($this->link, true); $this->link_time = time()-$start; return true; } else { $this->err_code = 1; return false; } register_shutdown_function(array(&$this,'close')); } /** * 创建文件夹 * @param string $dirname 目录名, */ public function mkdir($dirname) { if (!$this->link) { $this->err_code = 2; return false; } $dirname = $this->ck_dirname($dirname); $nowdir = '/'; foreach ($dirname as $v) { if ($v && !$this->chdir($nowdir.$v)) { if ($nowdir) $this->chdir($nowdir); @ftp_mkdir($this->link, $v); } if($v) $nowdir .= $v.'/'; } return true; } /** * 上传文件 * @param string $remote 远程存放地址 * @param string $local 本地存放地址 */ public function put($remote, $local) { if (!$this->link) { $this->err_code = 2; return false; } $dirname = pathinfo($remote,PATHINFO_DIRNAME); if (!$this->chdir($dirname)) { $this->mkdir($dirname); } if (@ftp_put($this->link, $remote, $local, $this->mode)) { return true; } else { $this->err_code = 7; return false; } } /** * 删除文件夹 * @param string $dirname 目录地址 * @param boolean $enforce 强制删除 */ public function rmdir($dirname, $enforce = false) { if (!$this->link) { $this->err_code = 2; return false; } $list = $this->nlist($dirname); if ($list && $enforce) { $this->chdir($dirname); foreach ($list as $v) { $this->f_delete($v); } } elseif ($list && !$enforce) { $this->err_code = 3; return false; } @ftp_rmdir($this->link, $dirname); return true; } /** * 删除指定文件 * @param string $filename 文件名 */ public function f_delete($filename) { if (!$this->link) { $this->err_code = 2; return false; } if (@ftp_delete($this->link, $filename)) { return true; } else { $this->err_code = 4; return false; } } /** * 返回给定目录的文件列表 * @param string $dirname 目录地址 * @return array 文件列表数据 */ public function nlist($dirname) { if (!$this->link) { $this->err_code = 2; return false; } if ($list = @ftp_nlist($this->link, $dirname)) { return $list; } else { $this->err_code = 5; return false; } } /** * 在 FTP 服务器上改变当前目录 * @param string $dirname 修改服务器上当前目录 */ public function chdir($dirname) { if (!$this->link) { $this->err_code = 2; return false; } if (@ftp_chdir($this->link, $dirname)) { return true; } else { $this->err_code = 6; return false; } } /** * 获取错误信息 */ public function get_error() { if (!$this->err_code) return false; $err_msg = array( '1'=>'Server can not connect', '2'=>'Not connect to server', '3'=>'Can not delete non-empty folder', '4'=>'Can not delete file', '5'=>'Can not get file list', '6'=>'Can not change the current directory on the server', '7'=>'Can not upload files' ); return $err_msg[$this->err_code]; } /** * 检测目录名 * @param string $url 目录 * @return 由 / 分开的返回数组 */ private function ck_dirname($url) { $url = str_replace('\\', '/', $url); $urls = explode('/', $url); return $urls; } /** * 关闭FTP连接 */ public function close() { return @ftp_close($this->link); } }
阿斯
- ftp_class.zip (3.5 KB)
- 下载次数: 14
发表评论
-
PHP实现Mysql网站安装程序制作
2012-12-19 13:38 1654其实PHP程序的安装原理无非就是将数据库结构和内容导入到相应的 ... -
php接收邮件类
2011-07-18 16:19 7623通过POP3/IMAP / NNTP连接到邮箱,使用PHP ... -
PHP RSS/Feed类库
2011-06-23 14:10 1834通用PHP RSS/Feed 生成类库(支持RSS 1.0/2 ... -
php 生成迅雷快车旋风链接
2011-06-21 16:15 1686<?php function zhuanh ... -
PHP 自动加载对象(以MVC框架为例)
2011-06-20 15:07 5299<?php class autoloader { ... -
php 时间日期工具类 星座/干支/生肖
2011-06-17 17:06 2766如果系统没有设置时区,那么获得的结果是UTC时间,相对中国 ... -
比较全面的php session验证码与防识别
2011-05-17 11:40 3325验证码开发过程中的 3 个误区: 1、 背景干扰: ... -
多语言国际化1
2011-02-23 16:36 1723//======================== ... -
PHP读取配置文件类(php,ini,yaml,xml)
2011-02-18 11:27 4014https://github.com/dannyhu926/p ... -
php zip pdf word rar类库
2011-01-28 13:33 1928pdf2swf+flexpaper解决pdf在线阅读(类百度 ... -
php取得客户端信息类
2011-01-28 11:04 2025<?php /** * * 根据sina ... -
php文件目录操作类
2011-01-28 10:56 3638https://github.com/dannyhu926/p ... -
PHP文件下载类
2011-01-27 11:17 1957<?php /** $filename = 'i ... -
gettext库 多语言国际化2
2011-01-25 15:22 2760通常人们写程序时都是将文字写死在程序里的,比如:echo &q ... -
数据库操作类mysql/mysqli/pdo
2011-01-20 18:48 2290PDO,MYSQL,MYSQLI的各自不同介绍,PDO,M ... -
php数组工具类
2010-11-25 09:14 2084数组《=》对象 /* * 数 ... -
PHP mysql数据库读写分离
2010-11-16 19:25 1561MYSQL的读写分离实现有2种思路 MySQL中间件 用 ... -
PHP邮件发送类
2010-06-17 20:25 4050Swift Mailer 和前面介绍的PHPMailer一 ... -
比较全面的php分页导航类
2010-06-11 15:33 2163瀑布流分页:当浏览者浏览了当前页面内容后,向下拉动浏览器滚动 ... -
php汉字换转成拼音
2010-05-25 14:40 1998<?php /** * PHP 汉字转拼音 ...
相关推荐
### VB.NET中的FTP类模块详解 #### 模块概述 在VB.NET环境下开发的应用程序,如果需要实现与FTP服务器交互的功能,例如上传、下载文件,创建或删除目录等操作时,可以利用专门编写的FTP类模块来简化这些过程。本文...
这个"vc++ FTP类,支持防火墙设置.zip"压缩包显然包含了用Visual C++编写的FTP客户端实现,它允许用户通过可能存在的防火墙进行FTP传输。下面我们将详细探讨FTP的基本原理,以及如何在VC++中实现防火墙支持。 FTP...
FTP类,支持防火墙设置,在vc上面测试通过,可以放心使用
PHP操作FTP类,可以用PHP去操作ftp上的文件等各种操作
本篇主要介绍如何在Windows Mobile环境下实现一个FTP类,以便进行文件传输操作。 FTP类是用于封装FTP协议的客户端实现,它允许程序通过网络连接到FTP服务器,执行各种FTP命令,如登录、改变目录、列出目录内容、...
标题中的“MSDN上推荐的老外编写FTP类(VFP)”指的是在微软开发网络(MSDN)上推荐的一个由非中国开发者编写的FTP类库,专为Visual FoxPro(VFP)编程环境设计。FTP(File Transfer Protocol)是一种网络协议,用于在...
FTP类在ASP.NET中通常是自定义的,用于简化与FTP服务器的交互。在描述中提到的FTP操作类,可能包含了连接到FTP服务器、上传文件、下载文件、删除文件、创建目录、列出目录内容等常见FTP操作的方法。这些方法通常封装...
在这个场景下,"VFP中用API做的FTP类"指的是一个开发者利用VFP编写的一个类,该类封装了FTP(文件传输协议)的相关操作,以便于在VFP程序中进行文件的上传、下载等任务。 FTP是Internet上广泛使用的协议,用于在...
在C#中编写一个FTP类可以为开发者提供一个方便、快捷的方式,来在应用程序中集成文件传输功能。下面将详细介绍这个C#编写的FTP类的功能和使用方法。 首先,这个FTP类能够建立与FTP服务器的连接。建立连接是使用FTP...
$this->conn_id = @ftp_connect($FTP_HOST,$FTP_PORT) or die("FTP服务器连接失败"); @ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) or die("FTP服务器登陆失败"); @ftp_pasv($this->conn_id,1); ...
标题“花了点时间弄了个带相应事件的FTP类(C#)再次修改后的”表明我们正在讨论一个经过多次优化的C# FTP类,它具有事件处理机制。事件处理在编程中非常常见,特别是在需要对特定操作进行回调或者异步操作时,它...
本篇将详细阐述C#中的FTP类及其核心功能。 首先,C#中并没有一个直接的FTP类,但我们可以使用`System.Net.FtpWebRequest`和`System.Net.FtpWebResponse`类来实现FTP操作。这两个类是.NET Framework的一部分,位于`...
C#封装的FTP类是一个强大的工具,用于在客户端和FTP服务器之间进行文件传输。这个类提供了丰富的功能,包括建立FTP连接、支持代理服务器、文件上传和下载(同步和异步)、进度显示、目录操作以及文件的重命名和删除...
在这个背景下,"C# VS2003 FTP类(开源)"的出现为开发者提供了一种解决方案,它允许在Visual Studio 2003环境下通过C#语言进行FTP文件传输。 FTP类库通常是基于低级别的Socket编程实现的,因为它需要直接与FTP...
本篇文章将深入探讨如何使用Java的FTP类来开发一个FTP服务器,以及相关的知识点。 首先,Java中的FTP功能主要依赖于`java.net`和`java.io`这两个核心包。在`java.net`包中,`Socket`类是建立网络连接的基础,而`...
在.NET框架中,C#提供了一个内置的FTP类——`System.Net.FtpWebRequest`,用于实现FTP(File Transfer Protocol)的客户端功能。本篇将详细讲解如何利用C#的FTP类进行文件的上传、下载、重命名以及删除操作。 ### ...
PHP FTP类通常会提供设置模式的方法,例如`pasv()`和` aktiv()`,以适应不同网络环境。 6. **文件权限与类型**:虽然FTP协议本身不支持文件权限设置,但类可能包含获取文件或目录信息的方法,如`ftp_nlist()`,它...
在这个场景中,我们关注的是一个源自Discuz开源项目中的FTP类。Discuz是一个基于PHP和MySQL的社区论坛软件,它包含了多种功能模块,其中之一就是通过FTP进行文件上传和下载。 FTP类在C#中通常用于构建应用程序,...
#### 一、C# FTP类简介与应用场景 在现代软件开发过程中,文件传输协议(FTP)仍然是一种常见的用于在网络上进行文件传输的方法。本篇将介绍一个实用的C# FTP类——`FTPFactory`,它提供了一系列功能强大的方法来...