/**
* 从FTP获取自动下载文件的PHP类
* @author yukar ( http://yukar.iteye.com )
*/
class FtpClass{
private $ftpObj;
private $ftpHost = "****"; // 服务器地址
private $ftpPort = ****; // 服务器端口
private $ftpUser = "****"; // 用户名
private $ftpPassword = "****"; // 口令
private $localBase = '/your/save/path'; //你存放的目录
function __construct($initData=array()){
if (isset($initData['ftpHost']) && $initData['ftpHost']){
$this->ftpHost = $initData['ftpHost'];
}
if (isset($initData['ftpPort']) && $initData['ftpPort']){
$this->ftpPort = $initData['ftpPort'];
}
if (isset($initData['ftpUser']) && $initData['ftpUser']){
$this->ftpUser = $initData['ftpUser'];
}
if (isset($initData['ftpPassword']) && $initData['ftpPassword']){
$this->ftpPassword = $initData['ftpPassword'];
}
if (isset($initData['localBase']) && $initData['localBase']){
$this->localBase = $initData['localBase'];
}
}
function ftp_connect(){
if(!$this->ftpObj){
$this->ftpObj = ftp_connect($this->ftpHost,$this->ftpPort); // 连接ftp服务器
if($this->ftpObj) {
if(ftp_login($this->ftpObj, $this->ftpUser, $this->ftpPassword)) { // 登录
return true;
}else{
return false;
}
}else {
return false;
}
}
}
function ftp_download_file($fileName) {
//获取FTP路径
$ftpPath = dirname($fileName) . "/";
//获取文件名
$selectFile = basename($fileName);
// 进入指定路径
if(@ftp_chdir($this->ftpObj,$ftpPath)) {
//$localBase 如果不存在,新创建目录,务必确保 有创建权限
if(!is_dir($this->localBase)){
mkdir($this->localBase, 0777);
}
$toFile = $this->localBase.$fileName;
if(ftp_get($this->ftpObj, $toFile, $selectFile, FTP_BINARY)) { //下载指定的FTP文件到指定的本地文件
return true;
}else {
return false;
}
}else {
return false;
}
}
function ftp_quit(){
if($this->ftpObj){
ftp_quit($this->ftpObj);
}
}
}
调用就更简单了
$ftpObj = new FtpClass();
$ftpObj->ftp_connect();
$filename = '/config/config.sample.php';
$ftpObj->ftp_download_file($filename);
$ftpObj->ftp_quit();
exit();
分享到:
相关推荐
本资源提供了一个名为“从FTP获取自动下载文件的php类”的工具,它是一个PHP类库,可以帮助开发者方便地与FTP服务器进行交互,实现文件的自动化下载。 该PHP类的主要功能包括: 1. **连接FTP服务器**:通过提供...
6. **文件权限与类型**:虽然FTP协议本身不支持文件权限设置,但类可能包含获取文件或目录信息的方法,如`ftp_nlist()`,它返回远程目录的文件列表,包括文件类型。 7. **错误处理**:类通常会包含异常处理机制,当...
FTP允许用户从远程服务器上获取文件(下载)或将文件发送到远程服务器(上传)。它基于TCP/IP协议栈,通过两个并行的连接来工作:控制连接和数据连接。控制连接用于发送命令和接收响应,而数据连接则用于实际的文件...
在PHP中,FTP功能通常是通过`ftp`扩展来实现的,它提供了一系列函数,如`ftp_connect`用于建立连接,`ftp_login`用于认证,`ftp_nlist`获取目录列表,`ftp_get`和`ftp_put`用于文件上传和下载,以及`ftp_delete`用于...
- **下载文件**:`ftp_get()`函数用于从FTP服务器下载文件,例如`ftp_get($conn, "/local/path/file.txt", "/remote/path/file.txt", FTP_BINARY);` - **创建新目录**:`ftp_mkdir()`函数创建新目录,例如`ftp_...
此外,文档中提到的“按照日期格式目录来进行上传文件的需求”,说明了在进行FTP操作时如何根据日期自动创建目录来存放上传的文件。这是一个常见的需求,有助于组织和管理远程服务器上的文件结构。 PHP的FTP函数集...
2. **命令交互**:客户端通过控制连接发送FTP命令,如`LIST`获取目录信息,`CWD`改变当前工作目录,`PUT`上传文件,`GET`下载文件,`DELE`删除文件等。 3. **数据传输**:根据命令,客户端和服务器建立数据连接,...
1. **下载自动化工具**:首先,从可靠来源获取"PHPOpt4IIS.exe"或者其他类似的自动化工具,确保它是最新版本且与你的IIS版本兼容。 2. **运行安装程序**:在服务器上找到该文件,双击运行。在弹出的界面中,通常会...
在PHP中,`wget`是一个非常实用的命令行工具,常用于从互联网上下载文件到本地服务器。这个工具是GNU项目的一部分,它支持HTTP、HTTPS和FTP协议,并且可以处理代理、cookies、认证等复杂场景。当我们需要在PHP脚本中...
通过这些函数和类,开发者可以灵活地处理FTP服务器上的文件,实现自动化的工作流程。记得在完成所有操作后,要关闭FTP连接: ```php ftp_close($conn); ``` 在实际项目中,可能还需要处理异常,增加错误检查,以及...
该FTP服务器包含了丰富的文档、案例分析、教程以及技术支持材料,覆盖了从基础的应用指南到高级的技术解决方案等多个方面。 #### 二、联系方式 在使用过程中遇到任何问题或有改进建议时,用户可以通过以下几种方式...
总结,PHP自动安装涉及到多个环节,包括环境准备、源码获取与编译、配置文件设定、依赖库的检查和安装,以及数据库的设置与连接。自动化这个过程可以大大提高部署效率,减少人为错误,使得开发者能够更专注于应用...
- 操作简便:其用户界面直观,使得文件上传、下载、重命名、移动和删除等操作简单易行。 - 自定义设置:允许管理员自定义FTP连接参数,如超时时间、被动模式等。 - FTP协议兼容:Net2FTP支持FTP、FTPS(FTP over ...
在Web开发中,有时我们需要通过脚本的方式自动下载网络上的文件,比如PDF文档、图片、文本文件等。PHP提供了多种方式来实现这一功能,其中一种非常实用的方法就是使用CURL库。CURL是一个强大的工具库,用于处理各种...
在Windows平台上实现自动备份文件至本地或远端FTP服务器,我们可以采用组合方案,即使用FileZilla FTP服务器作为远程备份的接收方,以及Cobian Backup 10作为备份工具来执行自动备份任务。以下是对这两个组件的详细...
总之,这个PHP脚本提供了一种自动化的方式,从网站抓取电视节目信息,通过解析HTML、下载JSON数据并将其转换为XML,以适应项目需求。这个过程涉及到网络请求、数据解析、文件操作以及时间处理等多个方面,体现了PHP...
**XAMPP** 是一个非常流行的开源开发环境套件,它包含了多个用于搭建Web服务器所需的组件,主要用于PHP、MySQL和Apache等技术的...对于那些想要下载速度更快的开发者,从CSDN这样的平台获取这个版本是一个很好的选择。
在PHP中,FTP类提供了一系列功能强大的函数,用于与FTP服务器进行交互,如文件上传、下载、目录管理等。下面我们将深入探讨PHP FTP类的使用方法及其相关知识点。 1. FTP连接: PHP使用`ftp_connect()`函数初始化与...
在IT行业中,自动化任务执行是提高效率和节省时间的有效手段之一。本教程将详细介绍如何利用宝塔(BT Panel)这一流行的Linux服务器管理工具,来实现夸克(Quark)的自动签到功能,从而获得夸克提供的永久存储空间。...
- 下载并安装163或阿里云的YUM源配置文件,以获取更快的下载速度和更新的软件包。 - 运行`yum makecache`生成缓存,使新源生效。 - 使用`yum -y update`更新系统所有软件包。 - 如果遇到问题,如YUM锁定或HTTP...