isidrogg/ftp-bundle

A Symfony2 Bundle to wrap the PHP ftp extension functionality in a more classy way.

Installs: 64

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 11

Type:symfony-bundle

v1.0.0 2013-06-04 20:39 UTC

This package is not auto-updated.

Last update: 2024-04-23 06:18:40 UTC


README

#FtpBundle

A Symfony2 Bundle to wrap the PHP ftp extension functionality in a more "classy" way.

Build Status

##Installation

Step 1: Install the bundle

For Symfony 2.0:

Add the following entries to the deps in the root of your project file:

[IjankiFtpBundle]
    git=git://github.com/isidrogg/FtpBundle.git
    target=bundles/isidrogg/Bundle/FtpBundle

Now, run the vendors script to download the bundle:

$ php bin/vendors install

Then you need to add the Ijanki namespace to your autoloader:

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    // ...
    'Ijanki' => __DIR__.'/../vendor/bundles',
));

For Symfony >= 2.1

Add the following dependency to your composer.json file:

"require": {
    # ..
    "isidrogg/ftp-bundle": "*"
    # ..
}

Step 2: Enable the bundle

Finally, enable the bundle in the kernel:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Isidrogg\Bundle\FtpBundle\IsidroggFtpBundle(),
    );
}

Usage

<?php

use Isidrogg\Bundle\FtpBundle\Exception\FtpException;

public function indexAction()
{
    //...
    try {
        $ftp = $this->container->get('isidrogg_ftp');
    	$ftp->connect($host);
    	$ftp->login($username, $password);
    	$ftp->put($destination_file, $source_file, FTP_BINARY);

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

All php ftp functions are wrapped in Ftp object:

For example:
ftp_mkdir becomes $ftp->mkdir or
ftp_put becomes $ftp->put
with the same arguments except the first one (resource $ftp_stream).

Check Ftp.php for other added methods.

Credits

Inspired by https://github.com/dg/ftp-php