Сегодня я сталкиваюсь с некоторыми странностями с PHP, которые я не могу найти правильное объяснение в документации. Рассмотрим следующий код:
<?php
echo $_GET['t']. PHP_EOL;
?>
Код прост - он принимает один параметр t в URL и выводит его обратно. Так что, если вы называете это с test.php? T =% 5Ca (% 5c является '\'), я ожидал увидеть:
\a
Однако вот что я получил:
$ curl http://localhost/~boaz/test.php?t=%5Ca
\\a
Обратите внимание на двойную косую черту. Может кто-нибудь объяснить, что происходит и дать рецепт для получения строк, как это было указано в URL-адресе?
Спасибо,
Боаз
PS. Я использую PHP 5.2.11