PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-beta.3
Jetpack – WP Security, Backup, Speed, & Growth v16.1-beta.3
16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / vendor / wp-php-toolkit / filesystem / interface-filesystem.php
jetpack / vendor / wp-php-toolkit / filesystem Last commit date
ByteStream 6 days ago Layer 6 days ago Mixin 6 days ago Path 6 days ago Visitor 6 days ago LICENSE.md 6 days ago README.md 6 days ago class-filesystemexception.php 6 days ago class-inmemoryfilesystem.php 6 days ago class-localfilesystem.php 6 days ago class-sqlitefilesystem.php 6 days ago class-uploadedfilesystem.php 6 days ago composer.json 6 days ago functions.php 6 days ago interface-filesystem.php 6 days ago
interface-filesystem.php
166 lines
1 <?php
2
3 namespace WordPress\Filesystem;
4
5 use WordPress\ByteStream\ReadStream\ByteReadStream;
6 use WordPress\ByteStream\WriteStream\ByteWriteStream;
7
8 /**
9 * Interface for filesystem implementations.
10 *
11 * It enables navigating multiple filesystem implementations in a unified way.
12 * For example, Zip_Filesystem and Local_Filesystem are both implemented
13 * as subclasses of this class.
14 */
15 interface Filesystem {
16
17 /**
18 * List the contents of a directory.
19 *
20 * @param string $dir The path to the parent directory.
21 *
22 * @return array<string> The contents of the directory.
23 * @throws FilesystemException If the directory cannot be listed.
24 */
25 public function ls( $dir = '/' );
26
27 /**
28 * Check if a path is a directory.
29 *
30 * @param string $path The path to check.
31 *
32 * @return bool True if the path is a directory, false otherwise.
33 * @throws FilesystemException If the path cannot be checked.
34 */
35 public function is_dir( $path );
36
37 /**
38 * Check if a path is a file.
39 *
40 * @param string $path The path to check.
41 *
42 * @return bool True if the path is a file, false otherwise.
43 * @throws FilesystemException If the path cannot be checked.
44 */
45 public function is_file( $path );
46
47 /**
48 * Check if a path exists.
49 *
50 * @param string $path The path to check.
51 *
52 * @return bool True if the path exists, false otherwise.
53 * @throws FilesystemException If the path cannot be checked.
54 */
55 public function exists( $path );
56
57 /**
58 * Create a directory.
59 *
60 * @param string $path The path to create.
61 * @param array $options Additional options.
62 *
63 * @throws FilesystemException If the directory cannot be created.
64 */
65 public function mkdir( $path, $options = array() );
66
67 /**
68 * Remove a file.
69 *
70 * @param string $path The path to remove.
71 *
72 * @throws FilesystemException If the file cannot be removed.
73 */
74 public function rm( $path );
75
76 /**
77 * Remove a directory.
78 *
79 * @param string $path The path to remove.
80 * @param array $options Additional options.
81 *
82 * @throws FilesystemException If the directory cannot be removed.
83 */
84 public function rmdir( $path, $options = array() );
85
86 /**
87 * Start streaming a file.
88 *
89 * @param string $path The path to the file.
90 *
91 * @return ByteReadStream The stream identifier.
92 * @throws FilesystemException If the stream cannot be opened.
93 * @example
94 *
95 * $fs->open_read_stream($path);
96 * while($fs->next_file_chunk()) {
97 * $chunk = $fs->get_file_chunk();
98 * // process $chunk
99 * }
100 * $fs->close_read_stream();
101 */
102 public function open_read_stream( $path ): ByteReadStream;
103
104 /**
105 * Open a write stream to a file.
106 *
107 * @param string $path The path to write to.
108 *
109 * @return ByteWriteStream The stream identifier.
110 * @throws FilesystemException If the stream cannot be opened.
111 */
112 public function open_write_stream( $path ): ByteWriteStream;
113
114 /**
115 * Write data to a file.
116 *
117 * @param string $path The path to write to.
118 * @param string $data The data to write.
119 * @param array $options Additional options.
120 *
121 * @throws FilesystemException If the data cannot be written.
122 */
123 public function put_contents( $path, $data, $options = array() );
124
125 /**
126 * Copy a file from one path to another.
127 *
128 * @param string $from_path The path to copy from.
129 * @param string $to_path The path to copy to.
130 * @param array $options Additional options.
131 *
132 * @throws FilesystemException If the file cannot be copied.
133 */
134 public function copy( $from_path, $to_path, $options = array() );
135
136 /**
137 * Moves a file from one path to another.
138 *
139 * @param string $from_path The path to move from.
140 * @param string $to_path The path to move to.
141 * @param array $options Additional options.
142 *
143 * @throws FilesystemException If the file cannot be moved.
144 */
145 public function rename( $from_path, $to_path, $options = array() );
146
147 /**
148 * Buffers the entire contents of a file into a string
149 * and returns it.
150 *
151 * @param string $path The path to the file.
152 *
153 * @return string The contents of the file.
154 * @throws FilesystemException If the file cannot be read.
155 */
156 public function get_contents( $path );
157
158 /**
159 * Get the metadata of the filesystem instance. Different
160 * for every filesystem implementation.
161 *
162 * @return array<string, mixed> The metadata of the filesystem.
163 */
164 public function get_meta(): array;
165 }
166