2016-07-29 3 views
0

나는 작은 안락한 API를 구축하고 PHP 파일과 URL의 끝 부분에 URL을 구분할 수 있는지 묻습니다.PHP : 매개 변수로 URL

예. www.mydomain.com/api/parameter/1/2/

이 경우 php 파일은 www.mydomain.com/api/ 또는 www.mydomain.com/api/index.phpparameter/1/2/ 매개 변수입니다.

매개 변수없이 GET이 모든 데이터의 목록을 가져올 수 있도록 CRUD 인터페이스가 필요합니다. 이를 달성하기 위해서는 매개 변수가 첨부되었는지 확인하고 매개 변수를 추출해야합니다.

다른 예를

www.mydomain.com/topics/ => 얻을 수있는 모든 주제

www.mydomain.com/topics/1/posts/ => 도착 =>는 1

내 질문은 주제의 2를 게시 얻을 주제 1의 모든 게시물,

www.mydomain.com/topics/1/posts/2/ : 그것은 가능하고 어떻게?

+0

그런 다음 사용해보십시오! 귀하의 질문에 단 하나의 questionmark .... – JustOnUnderMillions

+0

당신은'/ api/parameter/1/2' ->'somescript.php? parameter = 1 & parameter = 2'을 의미합니까? –

+0

'.htaccess'에 문제가 있거나 PHP에서'GET'을 걸러 내기 위해 어떤 문제가 있습니까? 코드 작성 했니? – JustOnUnderMillions

답변

1

$_SERVER['request_uri']을 사용하여 URL 끝에있는 요청 URI를 읽어야 할 수도 있습니다. 이것은 /api/parameter/1/2을 반환합니다. 길이가 신뢰할 만하다면 부분 문자열을 쓸 수도 있고 preg_match이라는 정규식을 사용하여 매개 변수 섹션 만 얻을 수도 있습니다. 예 : 일치하는

발견하지만 경우

preg_match("parameter\/.*", $_SERVER['request_uri'], $matches) 

반환 중 하나를 $의 문자열 parameter/1/2false을 변수와 일치, 또는 그래 다른 사람이 할 수 있다면, 당신은 아마 더 나은 GET 매개 변수를 사용하는 말을하고있는 것처럼 isset()을 사용하여 매개 변수가 있는지 확인하십시오.

+0

그 방법은 매우 정적입니다. 백엔드의 구조는 변경할 수 없습니다. 하지만 그것이 유일한 해결책이라고 우려합니다. –

관련 문제