diff --git a/app/Http/Controllers/Server/Files/FileActionsController.php b/app/Http/Controllers/Server/Files/FileActionsController.php index ca3c093aa..bd63009a6 100644 --- a/app/Http/Controllers/Server/Files/FileActionsController.php +++ b/app/Http/Controllers/Server/Files/FileActionsController.php @@ -101,7 +101,7 @@ class FileActionsController extends Controller { $server = $request->attributes->get('server'); - $dirname = pathinfo($file, PATHINFO_DIRNAME); + $dirname = str_replace('\\', '/', pathinfo($file, PATHINFO_DIRNAME)); try { $content = $this->repository->setServer($server)->setToken($request->attributes->get('server_token'))->getContent($file); } catch (RequestException $exception) { diff --git a/app/Repositories/Daemon/FileRepository.php b/app/Repositories/Daemon/FileRepository.php index 8350e402f..52fe4281c 100644 --- a/app/Repositories/Daemon/FileRepository.php +++ b/app/Repositories/Daemon/FileRepository.php @@ -18,7 +18,7 @@ class FileRepository extends BaseRepository implements FileRepositoryInterface */ public function getFileStat(string $path): stdClass { - $file = pathinfo($path); + $file = str_replace('\\', '/', pathinfo($path)); $file['dirname'] = in_array($file['dirname'], ['.', './', '/']) ? null : trim($file['dirname'], '/') . '/'; $response = $this->getHttpClient()->request('GET', sprintf( @@ -39,7 +39,7 @@ class FileRepository extends BaseRepository implements FileRepositoryInterface */ public function getContent(string $path): string { - $file = pathinfo($path); + $file = str_replace('\\', '/', pathinfo($path)); $file['dirname'] = in_array($file['dirname'], ['.', './', '/']) ? null : trim($file['dirname'], '/') . '/'; $response = $this->getHttpClient()->request('GET', sprintf( @@ -61,7 +61,7 @@ class FileRepository extends BaseRepository implements FileRepositoryInterface */ public function putContent(string $path, string $content): ResponseInterface { - $file = pathinfo($path); + $file = str_replace('\\', '/', pathinfo($path)); $file['dirname'] = in_array($file['dirname'], ['.', './', '/']) ? null : trim($file['dirname'], '/') . '/'; return $this->getHttpClient()->request('POST', 'server/file/save', [ @@ -100,7 +100,7 @@ class FileRepository extends BaseRepository implements FileRepositoryInterface array_push($files, [ 'entry' => $value->name, 'directory' => trim($path, '/'), - 'extension' => pathinfo($value->name, PATHINFO_EXTENSION), + 'extension' => str_replace('\\', '/', pathinfo($value->name, PATHINFO_EXTENSION)), 'size' => human_readable($value->size), 'date' => strtotime($value->modified), 'mime' => $value->mime,