plinker/files

A files component which allows you to read and write files

v0.2.7 2018-05-11 16:19 UTC

This package is not auto-updated.

Last update: 2024-11-07 18:42:57 UTC


README

A files component which allows you to read and write files.

Install

Require this package with composer using the following command:

$ composer require plinker/files

Client

Creating a client instance is done as follows:

<?php
require 'vendor/autoload.php';

/**
 * Initialize plinker client.
 *
 * @param string $server - URL to server listener.
 * @param string $config - server secret, and/or a additional component data
 */
$client = new \Plinker\Core\Client(
    'http://example.com/server.php',
    [
        'secret' => 'a secret password'
    ]
);

// or using global function
$client = plinker_client('http://example.com/server.php', 'a secret password');

Methods

Once setup, you call the class though its namespace to its method.

List

List files and folders.

Call

$result = $client->files->list('./', false, 10);

Response

Array
(
    [/] => Array
        (
            [0] => Array
                (
                    [name] => server.php
                    [type] => file
                    [size] => 706
                )

            [1] => Array
                (
                    [name] => .plinker
                    [type] => folder
                    [size] => 4096
                )

            [3] => Array
                (
                    [name] => user_classes
                    [type] => folder
                    [size] => 4096
                )

            [5] => Array
                (
                    [name] => demo.php
                    [type] => file
                    [size] => 1628
                )

        )

    [/.plinker] => Array
        (
            [2] => Array
                (
                    [name] => crontab.journal
                    [type] => file
                    [size] => 45
                )

        )

    [/user_classes] => Array
        (
            [4] => Array
                (
                    [name] => demo.php
                    [type] => file
                    [size] => 345
                )

        )

)

Response (with extended true)

Array
(
    [/] => Array
        (
            [0] => Array
                (
                    [name] => server.php
                    [type] => file
                    [size] => 706
                    [info] => Array
                        (
                            [last_access] => 1525369379
                            [change_time] => 1525368118
                            [modified_time] => 1517173011
                            [basename] => server.php
                            [extension] => php
                            [filename] => server.php
                            [group] => 33
                            [owner] => 33
                            [inode] => 3894233
                            [path] => .
                            [pathname] => ./server.php
                            [size] => 706
                            [type] => file
                            [isDir] => 
                            [isExecutable] => 
                            [isFile] => 1
                            [isLink] => 
                            [readable] => 1
                            [writable] => 1
                        )

                )
    // snip..

Create File

Create/Put a file, if file already exists, it will be overwritten.

Call

$result = $client->files->put('./path/to/file.txt', 'the file contents');

Response

number of bytes written to file

Get File

Get a file.

Call

$result = $client->files->get('./path/to/file.txt');

Response

the file contents

Delete File

Delete a file.

Call

$result = $client->files->delete('./path/to/file.txt');

Response


Testing

There are no tests setup for this component.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please contact me via https://cherone.co.uk instead of using the issue tracker.

Credits

Development Encouragement

If you use this project and make money from it or want to show your appreciation, please feel free to make a donation https://www.paypal.me/lcherone, thanks.

Sponsors

Get your company or name listed throughout the documentation and on each github repository, contact me at https://cherone.co.uk for further details.

License

The MIT License (MIT). Please see License File for more information.

See the organisations page for additional components.