| 2029 번 글의 답장글: Re: Re: Re: Re: Re: Re: Re: php 파라메터 파싱에 대해 좀 자세한 설명 |
| 글쓴이: 산이
[홈페이지]
|
글쓴날: 2004년 04월 13일 22:21:39 화(저녁) |
조회: 793 |
PHP(4.0.6 이상) 에서 GET 방식의 URL 파라메터 값을 가져올 경우
$_GET 배열 변수를 사용합니다.
따라서
http://www.myhomepage.co.uk/content/get.php?__redir=1&p=1111&u=0&t=6
51F88F9281140C284C51A913C8C6F36
이와 같은 URL 호출이 있다면
get.php 에서는
<?php
## this file name get.php
##
$__redir = $_GET['__redir'];
$p = $_GET['p'];
echo "__redir = $__redir p = $p";
exit;
?>
이렇게 작성하고 위의 URL 을 웹브라우저에서
그대로
호출하면
__redir = 1 p = 1111
이렇게 출력됩니다.
이 두개의 변수를 이용해서 URL 이동을 작성하면 됩니다.
그리고
http://bango.net/9276666
이런 URL 호출이 있다면
웹서버는 9276666 을 파일로 간주합니다.
따라서 당연히 아무런 URL 이동이 없습니다.
PHP 에 관한 기본지식(문법)을
좀더 공부하셔야 할 것 같습니다.
[정관택]님이 남기신 글:
>예 사실 php에 대해서는 정말 모릅니다. 죄송합니다.
>
>원래 제가 처리해야할 부분이 사실 본 내용에 담겨져 있는데
>
>http://corp.bango.net/support/documents/Bango_Fingerprint_ServiceV4.
0.pdf
>
>여기에서는 실제로 get.php 나 get.asp 의 소스내용에 대해서는
설명이 없습니다.
>
>[산이] 님께서 주신 내용이나 제가 생각했던 내용이 모두 Parse
Error가 나옵니다. 해당 URL 로 이동이 되지 않는다는
겁니다.
>
>가장 처음부터 시작을 한다면
>http://bango.net/92766662
라고 치고 나면 어떤 식으로 이동 되는지 아실겁니다.
>
>마지막 조언을 부탁합니다.
>
>
>[산이]님이 남기신 글:
>
>>Parse error 가 무슨 의미인지는 알고 있어야 합니다.
>>
>>get.php 에서 4번째 라인에서 PHP 구문이 틀렸다는
의미입니다.
>>
>>아래 4줄를 get.php 파일의 제일 첫줄로 옮기세요.
>>
>>[정관택]님이 남기신 글:
>>
>>>똑같은 질문드리는것 같아 죄송하네요. 그렇게
했습니다.
>>>
>>>다음과 같은 Error가 나옵니다.
>>>
>>>Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
in /home/gwantaek/public_html/content/get.php on line 4
>>>
>>>현재 content/p/1111 이라는 폴더는 만들어논 상태고요.
>>>
>>>???
>>>
>>>
>>>
>>>
>>>[산이]님이 남기신 글:
>>>
>>>>if($_GET['__redir'] && $_GET['p'])
>>>>{
>>>> header("Location: /p/$_GET['p']/index.php");
>>>> exit;
>>>>}
>>>>
>>>>각각 코딩할 필요없고 이렇게 5줄만 넣어주면
됩니다.
>>>>
>>>>
>>>>[정관택]님이
남기신 글:
>>>>
>>>>>조금 이해가 됩니다.
>>>>>
>>>>>실제로는 이런값을 다른 사이트를 통해서 받아
옵니다.
>>>>>http://www.myhomepage.co.uk/content/get.php?__redir=1&p=1111&u=0&t=6
51F88F9281140C284C51A913C8C6F36
>>>>>
>>>>>저는 &u=0&t=651F88F9281140C284C51A913C8C6F36는
필요하지 않습니다.
>>>>>
>>>>>참고로 phpinfo 를 통해서 내용을 받아보니 QUERY_STRING 값을
이런 형태로 받아옵니다.
>>>>>
>>>>>_ENV["QUERY_STRING"]
__redir=1&p=1111&u=0&t=651F88F9281140C284C51A913C8C6F36
>>>>>
>>>>>즉 이중에서 저는 p=1111이라는 변수값만을 사용하고 나머지
그냥 필요없거든요
>>>>>
>>>>>그렇다면 get.php 의 내용에는 어떤 식으로 넣으면 되나요?
>>>>>
>>>>>이런 식이 가능한가요 좀 단순하지만
>>>>>
>>>>><?php
>>>>> $content_url = getenv("QUERY_STRING");
>>>>>
>>>>>if (strchr($content_url,"__redir=1&p=1111&")){
>>>>> header("Location:
>>>>>http://www.myhomepage.co.uk/content/p/1111");
>>>>>}
>>>>>else if (strchr($content_url,"__redir=1&p=1112&")){
>>>>> header("Location: http://www.mhomepage.co.uk/content/p/1112/");
>>>>>}
>>>>>else if (strchr($content_url,"__redir=1&p=1113&")){
>>>>> header("Location: http://www.mhomepage.co.uk/content/p/1113/");
>>>>>}
>>>>>else if (strchr($content_url,"__redir=1&p=9999&")){
>>>>> header("Location: http://www.mhomepage.co.uk/content/p/9999/");
>>>>>exit;
>>>>>}
>>>>>?>
>>>>>
>>>>>
>>>>>그렇지만 1000000 개를 검색할때도 이런식으로 쓴다고
생각하면 좀 무식해 보이긴 하네요. 하지만 아직까지 제 실력이
이정도니 그냥 그렇게 해야죠
>>>>>
>>>>>마지막 조언 부탁드립니다.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>[산이]님이 남기신 글:
>>>>>
>>>>>>
>>>>>>[정관택]님이
남기신 글:
>>>>>>
>>>>>>>-----------------------------------------
>>>>>>>답변자가 기본적으로 참고할 내용입니다.
>>>>>>>- 배포판(옵션) :
>>>>>>>- 커널버전(옵션)
:
>>>>>>>- 데몬버전(예:apache
1.3.27) :
>>>>>>>- 데몬설치유형(RPM/컴파일/기타)
:
>>>>>>>-----------------------------------------
>>>>>>>제가 어떤 페이지를 거쳐서 이런 URL 을
받아오는데
>>>>>>>http://www.myhomepage.co.uk/index.php?__redir=1&p=1111
>>>>>>>
>>>>>>>실제로 그림파일(데이타)이
있는 파일 URL은
>>>>>>>
>>>>>>>http://www.myhomepape.co.uk/p/1111/index.php 의 내용을
보여주는거고(즉
p/1111 폴더에 있는걸 불러오고 싶고)
>>>>>>>
>>>>>>>만약에
>>>>>>>http://www.myhomepage.co.uk/index.php?__redir=1&p=1112 라고
받으면
>>>>>>>http://www.myhomepape.co.uk/p/1112/index.php 의 내용을
보여주는거죠
>>>>>>>(즉 p/1112 폴더에 있는걸 불러오고 싶고)
>>>>>>>
>>>>>>>즉 어떤 저는 미리 p 라는 폴더 밑에 1111 1112 등등의 폴더를
미리 만들어 놓을겁니다.
>>>>>>>
>>>>>>>php 로 짤려고 하고 일단 기초 지식이 없어서 단순
무식하게 이미지 폴더 10000 개를 미리 만들어 놀려고 합니다.
그래서
>>>>>>>어떤 사람이 http://www.myhomepage.co.uk/index.php?__redir=1&p=1111
>>>>>>>치면 http://www.myhomepape.co.uk/p/1111/index.php 의
내용(파싱)을 보여 줄려고 합니다.
>>>>>>>
>>>>>>>주신 내용 김칠봉 님 [PHP] URI 파라메터 전달 방법과
환경변수 비교의 내용은 이해가 되는데 좀 더 자세한 내용을
주셨으면 합니다.
>>>>>>>
>>>>>>>런던에서 정관택 배상
>>>>>>
>>>>>>========================================
>>>>>>
>>>>>>DocumentRoot/index.php 에서
>>>>>>
>>>>>>if($_GET['__redir'] && $_GET['p'])
>>>>>>{
>>>>>> header("Location: /p/$_GET['p']/index.php");
>>>>>> exit;
>>>>>>}
>>>>>>
>>>>>>이렇게 하면 되지 않을까요?
>>>>>
>>>>>========================================
>>>>
>>>>========================================
>>>
>>>========================================
>>
>>========================================
>
>========================================
========================================
|
이전글 : Re: Re: Re: Re: Re: Re: php 파라메터 파싱에 대해 좀 자세한 설명
다음글 : Re: 예 회신 감사합니다. php 파라메터 파싱에 대해 좀 자세한 설명
|
from 61.254.75.122
JS(Redhands)Board 0.4 +@
|