PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 3.1.13.4
JetBackup – Backup, Restore & Migrate v3.1.13.4
3.1.22.4 3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / src / JetBackup / Destination / Vendors / Local / ChunkedUpload.php
backup / src / JetBackup / Destination / Vendors / Local Last commit date
.htaccess 9 months ago ChunkedDownload.php 9 months ago ChunkedUpload.php 9 months ago DirIterator.php 9 months ago Local.php 9 months ago index.html 9 months ago web.config 9 months ago
ChunkedUpload.php
56 lines
1 <?php
2
3 namespace JetBackup\Destination\Vendors\Local;
4
5 use JetBackup\Destination\Integration\DestinationChunkedUpload;
6 use JetBackup\Web\File\FileChunk;
7
8 if (!defined( '__JETBACKUP__')) die('Direct access is not allowed');
9
10 class ChunkedUpload implements DestinationChunkedUpload {
11
12 private string $_destination;
13
14 public function __construct($destination) {
15 $this->_destination = $destination;
16 }
17
18 /**
19 * @return object
20 */
21 public function prepare():object {
22 return new \stdClass();
23 }
24
25 public function setData(object $data):void {}
26
27 /**
28 * @return int
29 */
30 public function getOffset():int {
31 return file_exists($this->_destination) ? filesize($this->_destination) : 0;
32 }
33
34 /**
35 * @param FileChunk $chunk
36 *
37 * @return void
38 */
39 public function upload(FileChunk $chunk):void {
40 $fd = fopen($this->_destination, 'a');
41 while(($data = $chunk->read(1024)) !== false) fwrite($fd, $data);
42 fclose($fd);
43 }
44
45 /**
46 * @return void
47 */
48 public function finalize():void {}
49
50 /**
51 * @inheritDoc
52 */
53 public function getChunkSize(): ?int {
54 return null;
55 }
56 }