1
|
<?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
|
}
|