ホームページ >php教程 >php手册 >PHP 擬似静的はパラメータ名を渡す 4 つのメソッドを非表示にします

PHP 擬似静的はパラメータ名を渡す 4 つのメソッドを非表示にします

WBOY
WBOYオリジナル
2016-06-13 12:19:05904ブラウズ

擬似静的メソッド 1:

コードをコピー コードは次のとおりです。


//疑似静的メソッド 1
// localhost/php100/test.php?id|1@action|2
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"]
echo $ Php2Html_FileUrl."< br>";
// /php100/test.php?id|1@action|2
$Php2Html_UrlString = str_replace("?","",str_replace("/", " ", strrchr(strrchr ($Php2Html_FileUrl, "/"),"?")));
echo $Php2Html_UrlString."
";
// id|1@action|2
$Php2Html_UrlQueryStrList =explode( "@", $Php2Html_UrlString);
print_r($Php2Html_UrlQueryStrList);
// Array ( [0] => id|1 [1] => action|2 ) echo "
" ;
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr) {
$Php2Html_TmpArray =explode("|", $Php2Html_UrlQueryStr);
print_r($Php2Html_TmpArray);
//レイ( [0] => id [1] => 1 ) ; 配列 ( [0] => アクション [1] => 2 )
エコー "
$_GET[ $Php2Html_TmpArray[0] ] = $Php2Html_TmpArray[1];
}
//echo 'False static: $_GET 変数
print_r($_GET); / Array ( [ id|1@action|2] => [id] => 1 [action] => 2 ) echo "
"
echo "


"; 🎜>echo $ _GET[id]."
// 1 echo $_GET[action]// 2
?>;


コードをコピーします

コードは次のとおりです:

疑似静的メソッド 2: //擬似静的メソッド 2

// localhost/php100/test.php/1/2
$filename =basename($_SERVER['SCRIPT_NAME']); echo $_SERVER ['SCRIPT_NAME']."< br>";// /php100/test.php
echo $filename."
";// test.php
if(strto lower($filename) =='test.php'){
if(!empty($_GET[id])){
$id=intval($_GET[id])
echo $id."< br>";
$action =intval($_GET[action]);
echo $action."
";
}else{
$nav=$_SERVER['REQUEST_URI '];
echo "1 :".$nav."
";// /php100/test.php/1/2
$script=$_SERVER['SCRIPT_NAME']; >echo "2:".$script ."
";// /php100/test.php
$nav=ereg_replace("^$script","",urldecode($nav)); 🎜>echo $nav."< br>" // /1/2
$vars=explode("/",$nav);// Array ( [0 ] => [1] => 1 [2] => 2 )
$id=intval($vars[1]); =intval($vars[2]) ;
エコー $id.'&'.$action;



疑似静的メソッド 3:




コードをコピー

コードは次のとおりです:


//擬似静的メソッド 3

function mod_rewrite( ){
global $_GET; $nav=$_SERVER["REQUEST_URI"]; echo $nav."
" ;
$script_name=$_SERVER["SCRIPT_NAME"] ;

echo $script_name."
"; $nav=substr("^$script_name","",urldecode( $nav)),1); echo $nav ."
";
$nav=preg_replace("/^.ht(m){1}(l){0,1}$ /","",$nav);//この文 .html または .htm の末尾を除いたものです
echo $nav."
";

$vars =explode("/" ,$nav);

print_r($vars);
echo "
"; $i=0;$i$_GET["$vars[$i]"]= $vars[$i 1];
return $_GET;
}
mod_rewrite(); year=$_GET["year"];//結果は '2006 '
echo $year."
";
$action=$_GET["action"];//結果'_add'
echo $action;
?>



疑似静的メソッド 4:




コードをコピーします

コードは次のとおりです:


//擬似静的メソッド 4
//サーバー変数を使用して PATH_INFO を取得しますこの例では、実行スクリプト名の後の部分である /1,100,8630.html です
if(@$ path_info =$_SERVER["PATH_INFO"]){
//通常の一致パラメータです。

if(preg_match("//(d ),(d ),(d ).html/si",$path_info, $arr_path)){
$gid=intval($arr_path[1]); //値 1 を取得します $sid=intval($arr_path[2]); //値 100 を取得します $softid =intval($arr_path[3]) //値 8630 を取得します
}else die("Path:Error!");

//soft.php?gid=1&sid=100&softid=8630 }else die('Path:Nothing!');> ;

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。