Это может быть?
& {
$current = $null
switch -regex -file 'C:\text.txt' {
'^(Backup-ID|Policy|Primary Copy|Expires|Copy Number|Fragment Size \(KB\)|Expires|MediaID):\s+(.*)' {
if ($matches[1] -eq "Backup-ID") {
if ($current) { $current.ToString() }
$current = [Text.StringBuilder]::new()
[void]$current.Append($matches[2])
}
else {
[void]$current.Append(",").Append($matches[2])
}
}
}
$current.ToString()
}
Уловка, которую я использую, заключается в записи файла в / tmp /
. Он должен быть создан с использованием пользователя и группы, используемых процессом PHP.
На платформах Unix это решение может работать даже при включенном безопасном режиме, при условии, что расширение posix установлено или скомпилировано.
$user = posix_getpwuid(posix_geteuid());
echo $user['name'];
] Если вы можете запустить какую-то bash, вы можете использовать whoami
или вас может быть в состоянии покопаться в / proc
Это сообщение об ошибке разваливается в среде сервера Windows. «Пожалуйста, убедитесь, что веб-сервер имеет доступ для записи в каталог», вероятно, является лучшим сообщением об ошибке.
Если используется linux / unix:
<?php
$temp = tmpfile();
print_r(posix_getpwuid(fileowner($temp)));
?>