mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-01-11 17:58:41 +00:00
Create basic functions
This commit is contained in:
parent
aca0e8ff08
commit
f51b01089d
|
|
@ -250,20 +250,12 @@ class Directory extends FileAbstract implements \Iterator, \ArrayAccess
|
|||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public static function createPath(string $path, string $permission = '0644', bool $recursive = false) : bool
|
||||
public static function createPath(string $path, string $permission = '0644', bool $recursive = true) : bool
|
||||
{
|
||||
if ($recursive && !file_exists($parent = self::getParent($path))) {
|
||||
self::createPath($parent, $permission, $recursive);
|
||||
}
|
||||
|
||||
if (!file_exists($path)) {
|
||||
if (is_writable(self::getParent($path))) {
|
||||
mkdir($path, $permission, true);
|
||||
mkdir($path, $permission, $recursive);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
throw new PermissionException($path);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -122,4 +122,15 @@ class File extends FileAbstract
|
|||
{
|
||||
file_put_contents($this->path, $content);
|
||||
}
|
||||
|
||||
public static function copy(string $p1, string $p2, bool $recursive = true) : bool
|
||||
{
|
||||
Directory::createPath(dirname($p2));
|
||||
|
||||
if(realpath($p1) === false) {
|
||||
throw new PathException($p1);
|
||||
}
|
||||
|
||||
return copy($p1, $p2);
|
||||
}
|
||||
}
|
||||
|
|
@ -42,8 +42,8 @@ class StringUtils
|
|||
/**
|
||||
* Contains any string
|
||||
*
|
||||
* @param string $haystack Haystack
|
||||
* @param array $needles Needles
|
||||
* @param string $haystack Haystack
|
||||
* @param array $needles Needles
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
|
|
@ -52,8 +52,8 @@ class StringUtils
|
|||
*/
|
||||
public static function contains(string $haystack, array $needles) : bool
|
||||
{
|
||||
foreach($needles as $needle) {
|
||||
if(strpos($haystack, $needle) !== false) {
|
||||
foreach ($needles as $needle) {
|
||||
if (strpos($haystack, $needle) !== false) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -268,4 +268,31 @@ class StringUtils
|
|||
return preg_replace('/(^[' . $charlist . ']+)/us', '', $string);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Count occurences of character at the beginning of string.
|
||||
*
|
||||
* @param string $string String to manipulate
|
||||
* @param string $character Character to count
|
||||
*
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn
|
||||
*/
|
||||
public static function countCharacterFromStart(string $string, string $character) : int
|
||||
{
|
||||
$count = 0;
|
||||
$length = strlen($string);
|
||||
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
if ($string[$i] !== $character) {
|
||||
break;
|
||||
}
|
||||
|
||||
$count++;
|
||||
}
|
||||
|
||||
return $count;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user