Получение URL от $ _GET со всеми параметрами - PullRequest
0 голосов
/ 27 сентября 2018

Добро пожаловать,

Простой код:

<?
$parametrs = (isset($_GET['url']) ? $_GET['url'] : '');
echo $parametrs;
?>

В параметре URL у меня есть:

https://scontent-waw1-1.xx.fbcdn.net/v/t1.0-9/12688238_10153608378188197_489584030822190108_n.jpg?_nc_cat=100&_nc_eui2=AeF838NYAK8LUEwdXcefThvdaa0MIWy1XfuIQkSmJMh-zlpCFVHFpQyYJVBUXK79YiASxQE6cyIgTIaGXnSCoWO0YuXTpj9g6N4RoYlJnE5wOw&oh=e0a1aef0f5834746c73991e937fdae23&oe=5C26DFD6

Но скрипт показывает мне только:

https://scontent-waw1-1.xx.fbcdn.net/v/t1.0-9/12688238_10153608378188197_489584030822190108_n.jpg?_nc_cat=100

Как я могу получить всю строку из $ _GET ['url']?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Проблема в том, что вы не кодировали URL в исходный скрипт.Таким образом, & в параметре url= рассматривается как конец этого параметра, а не как часть параметра.Исходный URL-адрес должен выглядеть следующим образом:

?url=https://scontent-waw1-1.xx.fbcdn.net/v/t1.0-9/12688238_10153608378188197_489584030822190108_n.jpg?_nc_cat=100%26_nc_eui2=AeF838NYAK8LUEwdXcefThvdaa0MIWy1XfuIQkSmJMh-zlpCFVHFpQyYJVBUXK79YiASxQE6cyIgTIaGXnSCoWO0YuXTpj9g6N4RoYlJnE5wOw%26oh=e0a1aef0f5834746c73991e937fdae23%26oe=5C26DFD6

Все & в URL-адресе были заменены на %26.

Если вы создаете URL-адрес в PHP, вы можетеиспользуйте urlencode($url), чтобы сделать это.Если вы создаете его в JavaScript, используйте encodeURIComponent(url).Если вы используете jQuery AJAX, поместите все параметры для таких функций, как $.get или $.ajax в объекте, и jQuery автоматически все правильно закодирует.

0 голосов
/ 27 сентября 2018

Вы можете получить все параметры в виде массива всего за один вызов, например:

print_r($_REQUEST);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...