-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFileManager.php
66 lines (53 loc) · 2.22 KB
/
FileManager.php
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
<?php
class FileManager {
public function find_all_files($dir)
{
$root = scandir($dir);
$result = array();
foreach($root as $value)
{
if($value === '.' || $value === '..') {continue;}
if(is_file("$dir/$value")) {$result[]="$dir/$value";continue;}
foreach($this->find_all_files("$dir/$value") as $value)
$result[]=$value;
}
return $result;
}
public function saveFile($var, $path, $saveToJsonFile) {
if ($saveToJsonFile)
$fileContent = json_encode($var);
else {
$fileContent = '['.date("Y-m-d H:i:s",$var['timestamp'])."]---------------------------------\n";
$fileContent .= "- runtime: ".gmdate("H:i:s",$var['runtime'])." hs\n";
$fileContent .= "- command: {$var['command']}\n";
$filenum=1; //file number tracker
$fileContent .= "-> files: \n";
if (count($var['files'])==0) $fileContent .= "[!] none\n"; else
foreach ($var['files'] as $file) {
$fileContent .= "[$filenum] in: {$file['input']}\n";
$fileContent .= "[$filenum] out: {$file['output']}\n";
$filenum++;
}
$fileContent .= "-> errors: \n";
if (!isset($var['error']) || count($var['error'])==0 ) $fileContent .= "[!] none\n"; else
foreach ($var['error'] as $file) {
$fileContent .= "[$filenum] file: {$file['input']}\n";
$fileContent .= "[$filenum] err: {$file['error']}";
$filenum++;
}
$fileContent .= "\n";
}
$ar = fopen($path, "a+");
fputs($ar, $fileContent);
fclose($ar);
}
public function createDirectoryForFile($filepath) {
$dirpath = $this->getFileDirectory($filepath);
if (!file_exists($dirpath))
mkdir($dirpath, 0777, true);
}
public function getFileDirectory($filepath) {
return str_replace("\ ", " ", substr($filepath, 0, strrpos($filepath,'/')));
}
}
?>