1 |
85ad3d82
|
Assos Assos
|
<?php
|
2 |
|
|
|
3 |
|
|
/**
|
4 |
|
|
* @file
|
5 |
|
|
* Shared classes and interfaces for the archiver system.
|
6 |
|
|
*/
|
7 |
|
|
|
8 |
|
|
/**
|
9 |
|
|
* Defines the common interface for all Archiver classes.
|
10 |
|
|
*/
|
11 |
|
|
interface ArchiverInterface {
|
12 |
|
|
|
13 |
|
|
/**
|
14 |
|
|
* Constructs a new archiver instance.
|
15 |
|
|
*
|
16 |
|
|
* @param $file_path
|
17 |
|
|
* The full system path of the archive to manipulate. Only local files
|
18 |
|
|
* are supported. If the file does not yet exist, it will be created if
|
19 |
|
|
* appropriate.
|
20 |
|
|
*/
|
21 |
|
|
public function __construct($file_path);
|
22 |
|
|
|
23 |
|
|
/**
|
24 |
|
|
* Adds the specified file or directory to the archive.
|
25 |
|
|
*
|
26 |
|
|
* @param $file_path
|
27 |
|
|
* The full system path of the file or directory to add. Only local files
|
28 |
|
|
* and directories are supported.
|
29 |
|
|
*
|
30 |
|
|
* @return ArchiverInterface
|
31 |
|
|
* The called object.
|
32 |
|
|
*/
|
33 |
|
|
public function add($file_path);
|
34 |
|
|
|
35 |
|
|
/**
|
36 |
|
|
* Removes the specified file from the archive.
|
37 |
|
|
*
|
38 |
|
|
* @param $path
|
39 |
|
|
* The file name relative to the root of the archive to remove.
|
40 |
|
|
*
|
41 |
|
|
* @return ArchiverInterface
|
42 |
|
|
* The called object.
|
43 |
|
|
*/
|
44 |
|
|
public function remove($path);
|
45 |
|
|
|
46 |
|
|
/**
|
47 |
|
|
* Extracts multiple files in the archive to the specified path.
|
48 |
|
|
*
|
49 |
|
|
* @param $path
|
50 |
|
|
* A full system path of the directory to which to extract files.
|
51 |
|
|
* @param $files
|
52 |
|
|
* Optionally specify a list of files to be extracted. Files are
|
53 |
|
|
* relative to the root of the archive. If not specified, all files
|
54 |
|
|
* in the archive will be extracted.
|
55 |
|
|
*
|
56 |
|
|
* @return ArchiverInterface
|
57 |
|
|
* The called object.
|
58 |
|
|
*/
|
59 |
|
|
public function extract($path, array $files = array());
|
60 |
|
|
|
61 |
|
|
/**
|
62 |
|
|
* Lists all files in the archive.
|
63 |
|
|
*
|
64 |
|
|
* @return
|
65 |
|
|
* An array of file names relative to the root of the archive.
|
66 |
|
|
*/
|
67 |
|
|
public function listContents();
|
68 |
|
|
} |