PluginProbe
ManageWP Worker / 4.9.25
ManageWP Worker v4.9.25
4.9.38 4.9.37 4.9.36 4.9.35 4.9.34 3.8.7 3.8.8 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.22 3.9.23 3.9.24 All 73 releases
worker / src / MWP / Stream / FileLimit.php

FileLimit.php in ManageWP Worker 4.9.25, at src/MWP/Stream/FileLimit.php

58 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * This file is part of the ManageWP Worker plugin.
4 *
5 * (c) ManageWP LLC <contact@managewp.com>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11 /**
12 * Unlike MWP_Stream_Limit, this stream reader is specialized for limited reading of files because
13 * it is not seekable and automatically closes the underlying stream after it has been read to the end (or limit is exceeded).
14 */
15 class MWP_Stream_FileLimit extends MWP_Stream_Limit
16 {
17
18 /**
19 * If EOF is ever reached, it gets remembered so file handle reinitializing is prevented
20 * since eof will always return true from then on.
21 *
22 * @var bool|null
23 */
24 private $eof = null;
25
26 public function isSeekable()
27 {
28 return false;
29 }
30
31 /**
32 * {@inheritdoc}
33 */
34 public function eof()
35 {
36 if ($this->eof === true) {
37 return true;
38 }
39
40 $this->eof = parent::eof();
41
42 return $this->eof;
43 }
44
45 /**
46 * {@inheritdoc}
47 */
48 public function read($length)
49 {
50 $buffer = parent::read($length);
51 if ($this->eof()) {
52 $this->close();
53 }
54
55 return $buffer;
56 }
57 }
58