Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 1.71 KB

README.md

File metadata and controls

49 lines (35 loc) · 1.71 KB

FTP protocol support for the XP Framework

Build status on GitHub XP Framework Module BSD Licence Requires PHP 7.0+ Supports PHP 8.0+ Latest Stable Version

Userland FTP protocol implementation, no dependency on PHP's ftp extension.

Client

Example: Uploading

use peer\ftp\{FtpConnection, FtpTransfer};
use io\File;

$c= (new FtpConnection('ftp://user:[email protected]/'))->connect();

// Upload logo.png to the connection's root directory
$c->rootDir()->file('logo.png')->uploadFrom(new File('logo.png'));

// Upload from a stream using ASCII mode
$c->rootDir()->file('README.md')->uploadFrom(
  new MemoryInputStream('Read me first!'),
  FtpTransfer::ASCII
);

$c->close();

Example: Listing

use peer\ftp\FtpConnection;

$c= (new FtpConnection('ftp://user:[email protected]/'))->connect();

// List root directory's contents
foreach ($c->rootDir()->entries() as $entry) {
  Console::writeLine('- ', $entry);
}

$c->close();