Кодировать / декодировать строку для передачи умлаутов в именах файлов?

У меня есть сценарий, который принимает аргумент g, После этого ожидается относительное имя файла.
Итак, у меня есть https://server.com/index.php?g=test/test.php. Я знаю, что вы говорите, но это не касается безопасности.

Теперь я хочу использовать этот скрипт изнутри сервера. Я немец, поэтому мои файлы иногда имеют умлауты.

Когда используешь shell_exec('wget --user username --password pw -qO- --no-check-certificate https://server.com/index.php?g=test/test%F6.jpg &> /dev/null'); скрипт правильно получает имя файла.

Но при попытке запустить его изнутри, т.е.

$_GET['g'] = 'test/test%F6.jpg';
include('index.php');

или же

$_GET['g'] = 'test/testö.jpg';
include('index.php');

или же

$_GET['g'] = utf8_decode('test/testö.jpg');
include('index.php');

или же

$_GET['g'] = utf8_encode('test/testö.jpg');
include('index.php');

он никогда не находит файл.

Как мне кодировать / декодировать строку $ _GET [‘g’], чтобы она успешно передавала умляуты?

РЕДАКТИРОВАТЬ: я нашел, что это работает, изменив кодировку моего тестового файла на ANSI. В основном скрипте это работает. Так что это было просто форматирование самого файла скрипта в ansi.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector