web-utils/utils.php

67 lines
1.8 KiB
PHP
Raw Normal View History

2021-08-08 17:23:49 +00:00
<?php
function generateRandomString($length = 10, $contains = ['upper', 'lower', 'digit']) {
$charset = [
'digit' => '0123456789',
'lower' => 'abcdefghijklmnopqrstuvwxyz',
'upper' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
2021-08-21 19:48:33 +00:00
'special' => '!#$%&()*+,-.:;<=>?@[]',
'hex' => '0123456789abcdef'
2021-08-08 17:23:49 +00:00
];
$characters = '';
foreach ($contains as $c) {
$characters .= $charset[$c] ?? '';
}
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
function resumeRequest() {
return [
'protocol'=> $_SERVER['SERVER_PROTOCOL'],
'method' => $_SERVER['REQUEST_METHOD'],
'query' => $_GET,
'post' => $_POST,
'body' => file_get_contents('php://input'),
'headers' => getallheaders(),
'query_string' => $_SERVER['QUERY_STRING'] ?? '',
'request_uri' => $_SERVER['REQUEST_URI'],
'remote_address' => $_SERVER['REMOTE_ADDR'],
'remote_port' => (int) $_SERVER['REMOTE_PORT'],
'at' => date('Y-m-d H:i:s'),
'at_unix' => (int) date('U'),
'at_unix_micro' => microtime()
];
}
function getFilesAsArray($path) {
$dirs = array_filter(glob($path . '/*'), 'is_file');
$dirs = array_map(function ($dirName) {
$compo = explode('/', $dirName);
return $compo[count($compo)-1];
}, $dirs);
return array_values($dirs);
}
function getDirsAsArray($path) {
$dirs = array_filter(glob($path . '/*'), 'is_dir');
$dirs = array_map(function ($dirName) {
$compo = explode('/', $dirName);
return $compo[count($compo)-1];
}, $dirs);
return array_values($dirs);
}
2021-08-17 13:08:06 +00:00
function deleteAllFiles($path) {
$count = 0;
foreach (getFilesAsArray($path) as $file) {
unlink($path . '/' . $file);
$count++;
}
return $count;
}