achrafsoltani/sftp-service-provider

v2.0.0 2016-06-15 12:35 UTC

README

A Simple SFTP wrapper for Silex

Latest Stable Version Total Downloads License

Features

  • Easy setup.
  • Files : List, Upload, Download, Rename, Delete.
  • Folders: List, Mkdir, Rename, Delete.

Requirements

  • PHP 5.3+
  • ext-ssh2
  • monolog/monolog (through the MonologServiceProvider)

Dependencies

// Installing php-ssh2
$ sudo apt-get install libssh2-php
// checking if all is good
$ php -m |grep ssh2 

Installation

$ composer require achrafsoltani/sftp-service-provider

Setup

require_once __DIR__.'/vendor/autoload.php';

use Silex\Application;
use AchrafSoltani\Provider\SftpServiceProvider;
use Silex\Provider\MonologServiceProvider;

$app = new Application();

// Monolog
$app->register(new Silex\Provider\MonologServiceProvider(), array(
    'monolog.logfile' => __DIR__.'/logs/development.log',
));

// SFTP
$app->register(new SftpServiceProvider(), array(
    'sftp.options' => array(
        'hostname' => 'domain.tld', // or IP address
        'username' => 'root',
        'password' => 'your_ssh_password',
        'port'     => '22' // optional
    )
));

// Usage

$app->run();

Usage

  • Example 1 : Listing files in a directory
$dirs = $app['sftp']->list_files('/home/user/');
var_dump($dirs);
  • Example 2 : Downloading a File
$app['sftp']->download('/home/user/source_file.ext', '/home/user/path/to/destination/downloaded.ext');