mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2024-11-21 17:50:08 -08:00
316 lines
4.2 KiB
Markdown
316 lines
4.2 KiB
Markdown
# SpacesAPI\File
|
|
|
|
Represents a single file
|
|
|
|
You wouldn't normally instantiate this class directly,
|
|
Rather obtain an instance from `\SpacesAPI\Space::list()`, `\SpacesAPI\Spaces::file()`, `\SpacesAPI\Spaces::uploadText()` or `\SpacesAPI\Spaces::uploadFile()`
|
|
|
|
|
|
## Properties
|
|
| name | Type | Description |
|
|
| --- | --- | --- |
|
|
| `expiration` | `string` | |
|
|
| `e_tag` | `string` | |
|
|
| `last_modified` | `int` | Last modified date as unix timestamp |
|
|
| `content_type` | `string` | THe mime type of the file |
|
|
| `content_length` | `int` | The size of the file in bytes |
|
|
|
|
|
|
## Methods
|
|
|
|
| Name | Description |
|
|
|------|-------------|
|
|
|[__construct](#file__construct)||
|
|
|[copy](#filecopy)|Copy the file on the space|
|
|
|[delete](#filedelete)|Permanently delete this file|
|
|
|[download](#filedownload)|Download the file to a local location|
|
|
|[getContents](#filegetcontents)|Get the file contents as a string|
|
|
|[getSignedURL](#filegetsignedurl)|Get a signed URL, which will work for private files|
|
|
|[getURL](#filegeturl)|Get the public URL. This URL will not work if the file is private|
|
|
|[isPublic](#fileispublic)|Is this file publicly accessible|
|
|
|[makePrivate](#filemakeprivate)|Make file non-publicly accessible|
|
|
|[makePublic](#filemakepublic)|Make file publicly accessible|
|
|
|[move](#filemove)|Move and/or rename file|
|
|
|
|
|
|
|
|
|
|
### File::__construct
|
|
|
|
**Description**
|
|
|
|
```php
|
|
__construct (\SpacesAPI\Space $space, string $filename, array $info = [], bool $validate = true)
|
|
```
|
|
|
|
**Parameters**
|
|
|
|
* `(\SpacesAPI\Space) $space` : An instance of `\SpacesAPI\Space`
|
|
* `(string) $filename` : The filename of a file
|
|
* `(array) $info` : Any information already known about the file (eg content_length, content_type, etc). Default `[]`
|
|
* `(bool) $validate` : Check that the file exists. Default `true`
|
|
|
|
**Return Values**
|
|
|
|
`void`
|
|
|
|
**Throws Exceptions**
|
|
|
|
`\SpacesAPI\Exceptions\FileDoesntExistException` : If validation is `true` and the file doesn't exist
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::copy
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public copy (string $newFilename, bool $public = false)
|
|
```
|
|
|
|
Copy the file on the space
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
* `(string) $newFilename`
|
|
* `(bool) $public`
|
|
|
|
**Return Values**
|
|
|
|
`\SpacesAPI\File` : An instance for the new file
|
|
|
|
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::delete
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public delete (void)
|
|
```
|
|
|
|
Permanently delete this file
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
`This function has no parameters.`
|
|
|
|
**Return Values**
|
|
|
|
`void`
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::download
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public download (string $saveAs)
|
|
```
|
|
|
|
Download the file to a local location
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
* `(string) $saveAs` Then filepath including the filename. This can be a relative or absolute path.
|
|
|
|
**Return Values**
|
|
|
|
`void`
|
|
|
|
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::getContents
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public getContents (void)
|
|
```
|
|
|
|
Get the file contents as a string
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
`This function has no parameters.`
|
|
|
|
**Return Values**
|
|
|
|
`string`
|
|
|
|
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::getSignedURL
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public getSignedURL (string|\DateTime|int $validFor)
|
|
```
|
|
|
|
Get a signed URL, which will work for private files
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
* `(string|\DateTime|int) $validFor`
|
|
: Can be any string recognised by strtotime(), an instance of `\DateTime` or a unix timestamp
|
|
|
|
**Return Values**
|
|
|
|
`string`
|
|
|
|
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::getURL
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public getURL (void)
|
|
```
|
|
|
|
Get the public URL. This URL will not work if the file is private
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
`This function has no parameters.`
|
|
|
|
**Return Values**
|
|
|
|
`string`
|
|
|
|
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::isPublic
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public isPublic (void)
|
|
```
|
|
|
|
Is this file publicly accessible?
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
`This function has no parameters.`
|
|
|
|
**Return Values**
|
|
|
|
`bool`
|
|
|
|
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::makePrivate
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public makePrivate (void)
|
|
```
|
|
|
|
Make file non-publicly accessible
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
`This function has no parameters.`
|
|
|
|
**Return Values**
|
|
|
|
`void`
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::makePublic
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public makePublic (void)
|
|
```
|
|
|
|
Make file publicly accessible
|
|
|
|
|
|
|
|
**Parameters**
|
|
|
|
`This function has no parameters.`
|
|
|
|
**Return Values**
|
|
|
|
`void`
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
### File::move
|
|
|
|
**Description**
|
|
|
|
```php
|
|
public move (string $newFilename)
|
|
```
|
|
|
|
Move or rename a file
|
|
The instance of `File` is now the moved object
|
|
|
|
**Parameters**
|
|
|
|
* `(string) $newFilename`
|
|
|
|
**Return Values**
|
|
|
|
`\SpacesAPI\File` : An instance for the new file
|
|
|
|
|
|
<hr />
|