Добро пожаловать,
Простой код:
<? $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']?
Заранее спасибо.
Проблема в том, что вы не кодировали URL в исходный скрипт.Таким образом, & в параметре 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.
%26
Если вы создаете URL-адрес в PHP, вы можетеиспользуйте urlencode($url), чтобы сделать это.Если вы создаете его в JavaScript, используйте encodeURIComponent(url).Если вы используете jQuery AJAX, поместите все параметры для таких функций, как $.get или $.ajax в объекте, и jQuery автоматически все правильно закодирует.
urlencode($url)
encodeURIComponent(url)
$.get
$.ajax
Вы можете получить все параметры в виде массива всего за один вызов, например:
print_r($_REQUEST);