-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtest.php
74 lines (60 loc) · 1.39 KB
/
test.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
67
68
69
70
71
72
73
74
<?php
/*
* rmarchiv.de
* (c) 2016-2017 by Marcel 'ryg' Hering
*/
include 'vendor/autoload.php';
$test = explode('/', 'Backdrop/');
if ($test[1] == '') {
}
$string = 'as/as/as/Map0099.lmu';
echo search_for_base_path($string);
function search_for_base_path($filepath)
{
$dirarray = [
'backdrop',
'battle',
'battle2',
'battlecharset',
'battleweapon',
'charset',
'chipset',
'faceset',
'frame',
'gameover',
'monster',
'panorama',
'picture',
'system',
'system2',
'title',
'music',
'sound',
];
$rootarray = [
'harmony.dll',
'rpg_rt.exe',
'rpg_rt.ini',
'rpg_rt.ldb',
'rpg_rt.lmt',
'rpg_rt.dat',
];
$mapparray = [];
for ($i = 0; $i < 2000; $i++) {
$mapparray[] = 'map'.sprintf('%04d', $i).'.lmu';
}
$filearray = array_merge($rootarray, $mapparray);
$searcharray = array_merge($dirarray, $filearray);
if (starts_with(strtolower($filepath), $searcharray)) {
$imp = str_replace('/', '\\/', $filepath);
} else {
$exp = explode('/', $filepath);
$res = array_shift($exp);
$imp = implode('/', $exp);
$imp = search_for_base_path($imp);
}
if (starts_with($imp, $filearray)) {
$imp = '.\\/'.$imp;
}
return $imp;
}