This package contains a Flysystem FTP adapter with cURL implementation. It supports both explicit and implicit SSL connections.
You can install the package via composer:
composer require vladimir-yuldashev/flysystem-curlftp
use League\Flysystem\Filesystem;
use VladimirYuldashev\Flysystem\CurlFtpAdapter;
$adapter = new CurlFtpAdapter([
'host' => 'ftp.example.com',
'username' => 'username',
'password' => 'password',
/** optional config settings */
'port' => 21,
'root' => '/path/to/root',
'utf8' => true,
'ftps' => true, // use ftps:// with implicit TLS or ftp:// with explicit TLS
'ssl' => true,
'timeout' => 90, // connect timeout
'passive' => true, // default use PASV mode
'skipPasvIp' => true, // ignore the IP address in the PASV response
'sslVerifyPeer' => 0, // using 0 is insecure, use it only if you know what you're doing
'sslVerifyHost' => 0, // using 0 is insecure, use it only if you know what you're doing
'enableTimestampsOnUnixListings' => true,
/** proxy settings */
'proxyHost' => 'proxy-server.example.com',
'proxyPort' => 80,
'proxyUsername' => 'proxyuser',
'proxyPassword' => 'proxypassword',
'verbose' => false // set verbose mode on/off
]);
$filesystem = new Filesystem($adapter);
$ composer test
The MIT License (MIT). Please see License File for more information.