rjkip/ftp-php

此包已被废弃,不再维护。未建议替代包。
此包最新版本(v1.1.0)没有可用的许可证信息。

一个用于访问FTP服务器的简单易用的库。

v1.1.0 2014-01-13 19:24 UTC

This package is not auto-updated.

Last update: 2020-08-21 17:43:06 UTC


README

FTP for PHP (c) David Grudl, 2008 (http://davidgrudl.com)

介绍

FTP for PHP 是一个非常小且易于使用的用于访问 FTP 服务器的库。

David Grudl 在 GoogleCode 上的项目:http://ftp-php.googlecode.com
David Grudl 的 PHP 博客:http://phpfashion.com

要求

  • PHP 5.3+

安装

通过 Composer 安装 FtpPhp。只需指定 rjkip/ftp-php 作为依赖项。

用法

打开到指定主机的 FTP 连接

<?php
require "vendor/autoload.php";

use FtpPhp\FtpClient;
use FtpPhp\FtpException;

$ftp = new FtpClient;
$ftp->connect($host);

使用用户名和密码登录

<?php
$ftp->login($username, $password);

您也可以将 URI 传递给构造函数,如下所示

<?php
$ftp = new FtpClient("ftp://user:password@host/path");
<?php
$arr = $ftp->nlist();
foreach ($arr as $value) {
    echo $value.PHP_EOL;
}

上传文件

<?php
$ftp->put($destination_file, $source_file, FtpClient::BINARY);

关闭 FTP 流

<?php
# Connection is also closed when `$ftp` goes out of scope.
$ftp->close();

Ftp 在操作失败时抛出异常。所以您可以简单地这样做

<?php
try {
	$ftp = new FtpClient;
	$ftp->connect($host);
	$ftp->login($username, $password);
	$ftp->put($destination_file, $source_file, FtpClient::BINARY);

} catch (FtpException $e) {
	echo 'Error: ', $e->getMessage();
}

另一方面,如果您想静默地捕获可能的异常,请调用带有前缀 'try' 的方法

<?php
$ftp->tryDelete($destination_file);

当连接意外中断时,您可以使用方法 $ftp->reconnect() 重新建立连接。

变更日志

v1.1.0 - 2014-01-13

  • 为所有 FtpPhp 异常引入一个基本异常类。这不应该破坏您的任何异常处理,除非您直接依赖于 FtpException 扩展 \Exception
  • 所有类在很大程度上符合 PSR-2。
  • 更新 docblocks 以满足 PhpStorm。