2014-05-26 3 views
0

인코딩 된 Google 폴리 라인을 사용하는 URL 문자열이 있습니다. 그것은 \ v와 다른 것과 같은 PHP 이스케이프 시퀀스 (http://php.net/manual/en/regexp.reference.escape.php)와 같은 시간 문자를 가지고 있습니다. 원격 서버에서 이미지를 다운로드하기 위해이 URL을 호출하면 URL 문자열이 변경되고 작동하지 않습니다.문자열의 PHP 이스케이프 시퀀스 문자 교체

PHP 스크립트에서 이미지를 제대로 다운로드 할 수 있도록 이스케이프 시퀀스를 처리하는 방법. DB에서 URL 아래

: 밖으로 PHP에서 넣어 URL 아래

http://maps.googleapis.com/maps/api/staticmap?size=275x270&sensor=true&markers=-31.95099,115.86053&markers=-31.952055,115.865051&path=weight:4%7Ccolor:0x0000FF%7Cenc:[email protected]@[email protected]@_Le][email protected]@[email protected]\[email protected][email protected]@[email protected][email protected]@mKqU{[email protected][email protected][k]k^g[[email protected]\[email protected]@aB{[email protected]@[email protected]^[email protected]@[email protected]|[email protected]_M}[email protected]}[email protected]{Oi`@k][email protected]@[email protected]][email protected]@@v`@[email protected]@[email protected]`@[email protected]@Q`[mOb^{[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@{[email protected]@[email protected][email protected]@jB}[email protected]@mJv`@i\[email protected]}[email protected][email protected]@`[email protected][email protected]@|[email protected]@[email protected]@`Et^rXyE`[email protected]@[email protected]@[email protected]@[email protected][email protected][[email protected]\xCfYiX|[email protected][email protected]@}V`]qNjZs`@[email protected]@}[email protected]@[email protected]|[email protected]@[email protected]@[email protected]@[email protected]][email protected]@[email protected]@[email protected]@{[email protected][email protected]\[email protected]][email protected]][email protected]][email protected]^[email protected]@[email protected]\lLc`@x][email protected]@[email protected]@ 

:

http://maps.googleapis.com/maps/api/staticmap?size=275x270&sensor=true&markers=-31.95099,115.86053&markers=-31.952055,115.865051&path=weight:4%7Ccolor:0x0000FF%7Cenc:[email protected]@[email protected]@_Le][email protected]@[email protected]\[email protected][email protected]@[email protected][email protected]@mKqU{[email protected][email protected][k]k^g[[email protected]\[email protected]@aB{[email protected]@[email protected]^[email protected]@[email protected]|[email protected]_M}[email protected]}[email protected]{Oi`@k][email protected]@[email protected]][email protected]@@v`@[email protected]@[email protected]`@[email protected]@Q`[mOb^{[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@{[email protected]@[email protected][email protected]@jB}[email protected]@mJv`@[email protected]}[email protected][email protected]@`[email protected][email protected]@|[email protected]@[email protected]@`Et^rXyE`[email protected]@[email protected]@[email protected]@[email protected]@v[[email protected]%C3%8FYiX|[email protected][email protected]@}V`]qNjZs`@[email protected]@}[email protected]@[email protected]|[email protected]@[email protected]@[email protected]@[email protected]][email protected]@[email protected]@[email protected]@{[email protected][email protected]@i][email protected]][email protected]][email protected]^[email protected]@[email protected]\lLc`@x][email protected]@[email protected]@ 

DB 쇼 경로에서 URL 제대로 곳을 표시하지 않습니다 PHP에서 넣어 동일한 URL로 경로. 또한 PHP에서 출력 할 때 url의 길이는 줄어 듭니다.

감사

Waqas

+0

이스케이프 시퀀스를 이스케이프 처리하여 이스케이프 처리합니다 (예 : '\ v'을'\\ v'로 바꾸는 것입니다.하지만 정말로 탈출하거나 urlencode 할 필요가 있습니까? –

+0

URL의 인코딩 된 문자열 부분에 PHP 스크립트가 먹어서 URL을 보내어 이미지를 다운로드하라는 요청이 내려지는 문자가 나옵니다. – Wikki

답변

0

당신이 그 코드에 액세스 할 수있는 경우, 데이터베이스에 저장 url 및 이전을 인코딩하는 좋은 오래된 base64encode를 사용할 수 있습니다. 33 % 더 많은 공간을 사용하지만 두통을 피하는 데 도움이됩니다. PHP - Base64 Encode