zdenekgebauer/ftp-client
Composer 安装命令:
composer require zdenekgebauer/ftp-client
包简介
Object oriented FTP client for PHP
README 文档
README
Object oriented FTP (SFTP) client for PHP
Installation
composer require zdenekgebauer/ftp-client
Usage
$ftp = new ZdenekGebauer\FtpClient\FtpClient(); $ftpOptions = new ZdenekGebauer\FtpClient\FtpOptions(); // set connection parameters $ftpOptions->host = 'localhost'; $ftpOptions->username = 'login'; $ftpOptions->password = 'password'; // optional parameters // $ftpOptions->port = 21; // $ftpOptions->timeout = 120; // $ftpOptions->ssl = true; try { $ftp->connect($ftpOptions); } catch (\ZdenekGebauer\FtpClient\FtpException $exception) { // do something } // set passive mode $ftp->pasv(true); echo 'PWD: ', $ftp->pwd(); // upload local file to server try { $ftp->put('remote.txt', 'local.txt'); } catch (\ZdenekGebauer\FtpClient\FtpException $exception) { // do something } // download file from server (most of methods throws FtpException) $ftp->get( 'download.txt', 'remote.txt'); // create directory on server, recursive $ftp->mkdir('/', 'new/folder', 0777); // delete remote directory $ftp->rmdir('/folder/subfolder'); // change directory $ftp->chdir('remote/folder'); // upload directory $ftp->putDirectory('/', '/local/folder', 'remote/folder'); // get tree with remote directories /** @var array<FtpFileInfo> $tree */ $tree = $ftp->tree('tree'); // delete remote file $ftp->delete('remote.txt'); // rename remote file or directory $ftp->rename('file.txt', 'new-name.txt'); $ftp->rename('folder', 'new-folder'); // get content of remote file var_dump($ftp->getFileContent('remote.txt')); // check if directory exists var_dump($ftp->isDirectory('/folder')); // check if file exists var_dump($ftp->isFile('file.txt')); // copy remote file $ftp->copyFile('file.txt', 'copy.txt'); // copy remote directory $ftp->copyDirectory('/', '/folder', '/copy-folder'); // chmod remote file $ftp->chmod('file.txt', 0777); $ftp->close();
Testing
Tested with Codeception framework. Tests requires valid connection parameters for FTP server specified in environment file(s) /tests/_envs/*.yml
Licence
Released under the WTFPL license http://www.wtfpl.net/about/.
zdenekgebauer/ftp-client 适用场景与选型建议
zdenekgebauer/ftp-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 16 次下载、GitHub Stars 达 2, 最近一次更新时间为 2021 年 01 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「sftp」 「ftp」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 zdenekgebauer/ftp-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 zdenekgebauer/ftp-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 zdenekgebauer/ftp-client 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A sleek PHP wrapper around rclone with Laravel-style fluent API syntax
A flexible FTP, SSL-FTP, and SSH-based SFTP client for PHP. This lib provides helpers that are easy to use to manage the remote files.
A remote FTP & S3 file manager using VueJS
A simple database backup manager for Symfony2 with support for S3, Rackspace, Dropbox, FTP, SFTP.
Stickee Laravel SFTP Dual Auth
Alfabank REST API integration
统计信息
- 总下载量: 16
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: WTFPL
- 更新时间: 2021-01-11