我有一个接受参数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。