Giter VIP home page Giter VIP logo

ftp's Introduction

Laravel-FTP

A simple Laravel 5 ftp service provider.

Build Status Quality

For Laravel 4.x, check v1.0.0

Installation

Add the package to your composer.json and run composer update.

{
    "require": {
        "polyerter/ftp": "dev-master"
    }
}

Add the service provider in config/app.php:

'Anchu\Ftp\FtpServiceProvider',

Configuration

Run php artisan vendor:publish and modify the config file(config/ftp.php) with your ftp connections.

You can add dynamic FTP connections with following syntax

Config::set('ftp.connections.key', array(
           'host'   => '',
           'username' => '',
           'password'   => '',
           'passive'   => false,
));

Accessing connections

You can access default FTP connection via the FTP::connection method:

FTP::connection()->getDirListing(...);

When using multiple connections you can access each specific ftp connection by passing connection name:

FTP::connection('foo')->getDirListing(...);

Sometimes you may need to reconnect to a given ftp:

FTP::reconnect('foo');

If you need to disconnect from a given ftp use the disconnect method:

FTP::disconnect('foo');

Basic usage examples

// With custom connection
$listing = FTP::connection('my-ftp-connection')->getDirListing();

// with default connection
$listing = FTP::connection()->getDirListing();
$status = FTP::connection()->makeDir('directory-name');

Supported methods

getDirListing($directory, $parameters )

Returns a list of files in the given directory

  • $directory: The directory to be listed. Default value: ..
  • $parameters: Optional parameters to prefix with directory. For example: -la. Default: null.

getDirListingDetailed($directory)

Returns a list of files in the given directory as an associative array with the following keys: rights, number, user, group, size, month, day and time

  • $directory: The directory to be listed. Default value: ..

makeDir($directory)

Creates the specified directory on the FTP server.

  • $directory: The name of the directory that will be created.

changeDir($directory)

Changes the current directory on a FTP server.

  • $directory: The target directory.

uploadFile($fileFrom, $fileTo, $mode)

Uploads a local file to the FTP server.

  • $fileFrom: The local file path.
  • $fileTo: The remote file path.
  • $mode: The transfer mode. Must be either FTP_ASCII or FTP_BINARY. Automatic mode resolution will be done if no mode is specified.

downloadFile($fileFrom, $fileTo, $mode)

Downloads a file from the FTP server

  • $fileFrom: The remote file path.
  • $fileTo: The local file path (will be overwritten if the file already exists) or an open file pointer in which we store the data.
  • .
  • $mode: The transfer mode. Must be either FTP_ASCII or FTP_BINARY. Automatic mode resolution will be done if no mode is specified.

readFile($fileFrom)

Same as the downloadFile() method except it downloads the remote file to the PHP output buffer and returns it.

  • $fileFrom: The remote file path.

moveUp()

Changes to the parent directory.

permission($mode, $filename)

Set permissions on a file.

  • $mode: The new permissions, given as an octal value.
  • $filename: The remote file.

delete($path)

Deletes the file specified by path from the FTP server.

  • $path: The file to delete.

currentDir()

Returns the current directory name

rename($oldName, $newName)

Renames a file or a directory on the FTP server.

  • $oldName: The old file/directory name.
  • $newName: The new name.

removeDir($directory, $recursive)

Removes a directory

  • $directory: The directory to delete. This must be either an absolute or relative path to an empty directory.
  • $recursive: Delete the folder recursively. Default value: false.

truncateDir($directory)

Truncates a directory

  • $directory: The directory to truncate. This must be either an absolute or relative path to a directory.

size($remoteFile)

Returns the size of the given file in bytes. Note: Not all servers support this feature.

  • $remoteFile: The remote file.

time($remoteFile)

Returns the last modified time of the given file Note: Not all servers support this feature.

  • $remoteFile: The remote file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.