1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
<?php
namespace League\Flysystem\Adapter;
use League\Flysystem\AdapterInterface;
abstract class AbstractAdapter implements AdapterInterface { /** * @var string path prefix */ protected $pathPrefix;
/** * @var string */ protected $pathSeparator = '/';
/** * Set the path prefix. * * @param string $prefix * * @return self */ public function setPathPrefix($prefix) { $is_empty = empty($prefix);
if ( ! $is_empty) { $prefix = rtrim($prefix, $this->pathSeparator) . $this->pathSeparator; }
$this->pathPrefix = $is_empty ? null : $prefix; }
/** * Get the path prefix. * * @return string path prefix */ public function getPathPrefix() { return $this->pathPrefix; }
/** * Prefix a path. * * @param string $path * * @return string prefixed path */ public function applyPathPrefix($path) { $path = ltrim($path, '\\/');
if (strlen($path) === 0) { return $this->getPathPrefix() ?: ''; }
if ($prefix = $this->getPathPrefix()) { $path = $prefix . $path; }
return $path; }
/** * Remove a path prefix. * * @param string $path * * @return string path without the prefix */ public function removePathPrefix($path) { $pathPrefix = $this->getPathPrefix();
if ($pathPrefix === null) { return $path; }
return substr($path, strlen($pathPrefix)); } }
|