.htaccess
1 year ago
BZFile.php
1 year ago
File.php
1 year ago
FileInfo.php
2 days ago
GZFile.php
1 year ago
RegFile.php
2 days ago
index.html
1 year ago
web.config
1 year ago
File.php
35 lines
| 1 | <?php |
| 2 | /* |
| 3 | * |
| 4 | * JetBackup @ package |
| 5 | * Created By Idan Ben-Ezra |
| 6 | * |
| 7 | * Copyrights @ JetApps |
| 8 | * https://www.jetapps.com |
| 9 | * |
| 10 | **/ |
| 11 | namespace JetBackup\Archive\File; |
| 12 | |
| 13 | use JetBackup\Exception\ArchiveException; |
| 14 | |
| 15 | abstract class File { |
| 16 | |
| 17 | public function __construct(string $filename, string $mode) { |
| 18 | |
| 19 | if(strpos($mode, 'r') !== false && !file_exists($filename)) |
| 20 | throw new ArchiveException('no such file: '.$filename); |
| 21 | } |
| 22 | |
| 23 | abstract public function truncate($offset): bool; |
| 24 | abstract public function read(int $length); |
| 25 | abstract public function write(string $data, $length=null); |
| 26 | abstract public function seek(int $offset, int $whence = SEEK_SET): int; |
| 27 | abstract public function tell(): int; |
| 28 | abstract public function eof(): bool; |
| 29 | abstract public function flush(): bool; |
| 30 | abstract public function close(): bool; |
| 31 | |
| 32 | public function __destruct() { |
| 33 | $this->close(); |
| 34 | } |
| 35 | } |