php는 url을 매개 변수 또는 URL 방법 대체

출처: 인터넷
작성자: 사용자
키워드: 웹 프로그래밍 PHP는 자습서

코드는 다음과 같습니다.
현재 스크립트 url
함수 Getcururl)
{
만약 (! ($_server["Request_uri"]) 빈
{
$scriptName = $_server ["Request_uri"];
$nowurl = $scriptName;
}
다른
{
$scriptName = $_server ["Php_self"];
경우 (빈 ($_server["query_string"])
{
$nowurl = $scriptName;
}
다른
{
$nowurl = $scriptName. $ _server ["질의"];
}
}
$nowurl; 반환
}

다른 변수 값의 쿼리 섹션에서 PHP 대체 URL 예, 우리는 키에는 $url을 설정 하려면 = 321;
사실, 몇 가지 상황이 있다:
$url = ' www.jzread.com/a.php 튜토리얼? 키 = 330′;
또는 $url = ' www.jzread.com/a.php;
또는 $url = ' www.jzread.com/a.php?cat=2 ′;
잠깐만 기다리세요. 많은 상황 이지만, PHP는 매우 간단한 거래, 다음과 같이:
다음과 같이 코드 코드를 복사.
/ * 값을 URL에 매개 변수를 설정 / / "이것은 좋은 단락."
기능 Url_set_value ($url, $key, $value)
{
$a = 폭발 ('? ', $url);
$url _f = $a [0];
$query = $a [1];
Parse_str ($query, $arr);
$arr [$key] = $value;
$url _f를 반환 합니다. Http_build_query ($arr);
}

하지만 내 교체가 작성 되었습니다. 물론 그것은 빤 다.

복사 코드 다음과 같이 코드:
<? php
/ * *
* 루틴 사용: 페이지 매김 클래스 또는 교체 페이지에 사용할 수 있습니다 고
$url = "add_jd.php?pid=4 & 결핵 = gm_jd & 페이지 = 1"; < br > 반향 ("원래 URL:". $url);
에코 (' < br / > ');
에코 (매개 변수를 문자열:. Url::replace ($url, "pid = 10, 페이지 2 ="));
에코 (' < br / > ');
에코 (배열 매개 변수:. Url::replace ($url, 배열 (' PID ' = > 10, '페이지' = > 5));
//echo (Urlreplace ($url, 배열 (' PID ' = > 10, '페이지' = > 5));
/
/ * *
* URL 대체
* @param 문자열 $url 교체 해야 하는 URL 문자열, 일반적으로 aaa.php?abc=def, 또는 HTTP://XXX.COM/ABC/D 같은 경로 EF.PHP?AA=BB
* @param 혼합 $options 교체 해야, 문자열이 될 수 있는 변수 또는 배열, 문자열, 형식 경우 "AA BB, CC = DD =" 그리고 거기에 여러 개의 구분 하 여 ","
* @return 문자열 $url 대체 URL
* / 클래스 URL

{
정적 함수 바꾸기 ($url, $options)
{
$options = Self::optini T ($options);
$Query = Parse_url ($url, php_url_query);
경우 ($Query) {
Parse_str ($Query, $GET);
경우 ($GET) {
//foreach ($_k으로 $GET = > $_v) {
///if (Array_key_exists ($_k, $optioNS)) {
//$GET [$_k] = $options [$_k];
/ / /}
/ /}
$GET = Array_merge ($GET, $options);

} 반환 Str_replace ($Query, Http_build_query ($GET), $url);

} 경우 (! $Query & & $options) {
반환 $url. "?" . Http_build_query ($options);

} return $url; 정적 개인 함수 Optinit ($options)


} {
경우 (is_string ($options)) {
$optlists = power::n Ormalize ($options);
foreach ($val으로 $optlists) {
목록 ($tmpKey, $tmpVal) = Power::normalize ($val, "=");
$opts [$tmpKey] = $tmpVal;
}
}else{
$opts = $options;

} //unset ($options);
반환 $opts;
}
} & nbsp

뭔가 간주 됩니다, 하지만 그것만 일반적인 솔루션입니다.

다음은 몇 가지 추가 정보입니다.
예: 현재 URL 주소를 얻이 필요가
$url _this = "http://" $_server [' http_host ']. $_server ["php_self"];
에코 $url _this;

표시: http://localhost/lu.php

서버 변수: $_server
참고: PHP 4.1.0 이상 버전에서 사용. 이전 버전, $HTTP _server_vars를 사용 하 여입니다.

$_server 머리 (헤더), 경로 (경로), 그리고 스크립트 위치 (스크립트 위치) 같은 것 들을 포함 하는 배열을입니다. 배열의 요소는 웹 서버에 의해 생성 됩니다. 모든 서버 모든 정보 생성 됩니다 보장할 수 없습니다, 몇 가지 정보 또는 아래 없는 몇 가지 새로운 정보는 서버를 간과 할 수 있습니다. 즉, 많은 수의 이러한 변수가 CGI 1.1 사양에 설명 그래서 당신은 신중 하 게 공부 해야 한다.

이것은 "인"는 또는 자동 전역 변수는으로 기술 될 수 있다. 즉 단순히 그것은 모든 스크립트에서 작동 합니다. 함수 또는 메서드;에서 글로벌 $_server를 사용할 필요가 없습니다. $HTTP _server_vars와 마찬가지로 액세스할.

$HTTP _server_vars는 동일한 정보를 포함 하지만 자동 전역 변수는 아니다. (참고: $HTTP _server_vars 및 $_server는 다른 변수, PHP는 다른 방법으로 그들을 처리.) )

Register_globals 지시문을 설정 하는 경우 이러한 변수는 또한 모든 스크립트, 즉, $_server에서에서 제공 하 고 $HTTP _server_vars 배열 구분 됩니다. 정보, 등록 Globals를 사용 하 여 보안 섹션을 참조 하십시오. 이러한 개별 전역 변수 자동 전역 변수를 않습니다.

아래에 나열 된 $_server 요소 중 일부는 사용할 수 없습니다 찾을 수 있습니다. 참고 명령줄 기준 PHP를 실행 하는 경우 아래 나열 된 요소는 거의 하지 유효 (또는 의미).


"Php_self"
현재 문서 루트와 관련 된 스크립트를 실행 하는 파일의 이름입니다. 예를 들어 사용 하 여 $_server [' php_self ' Http://example.com/test.php/foo.bar의 URL 주소와 스크립트에서는 get/test.php/foo.bar이이 결과.

PHP는 명령줄로 실행 하는 경우에 변수 유효 하지 않습니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.