ホームページ > バックエンド開発 > PHPチュートリアル > phpは現在のURLパスPHPサーバー変数を取得します

phpは現在のURLパスPHPサーバー変数を取得します

WBOY
リリース: 2016-07-25 09:12:59
オリジナル
1070 人が閲覧しました

主に次のグローバル変数を使用して、現在の URL アドレスとサーバー変数を取得するための PHP プログラミングでのプログラミング: $_server["query_string"],$_server["request_uri"],$_server["script_name"],$_server["php_self"]

1,$_server["クエリ文字列"] 説明: クエリ文字列 2.$_server["request_uri"] 説明: このページにアクセスするには URI が必要です 3.$_server["スクリプト名"] 説明: 現在のスクリプトのパスが含まれます。 4.$_server["php_self"] 説明: 現在実行中のスクリプトのファイル名 例: 1. http://bbs.it-home.org/ (ホームページを直接開きます) 結果: $_server["クエリ文字列"] = "" $_server["request_uri"] = "/" $_server["スクリプト名"] = "/index.php" $_server["php_self"] = "/index.php" 2. http://bbs.it-home.org/?p=222 (クエリ付き) 結果: $_server["クエリ文字列"] = "p=222" $_server["request_uri"] = "/?p=222" $_server["スクリプト名"] = "/index.php" $_server["php_self"] = "/index.php" 3. http://bbs.it-home.org/index.php?p=222&q=biuuu 結果:

  1. // request_uri を処理します

  2. if(!isset($_server['request_uri'])) {
  3. $_server['request_uri'] = $_server['php_self']
  4. if (isset($_server['query_string'])) $_server['request_uri'] .= '?'.$_server['query_string']
  5. }
  6. if($_server['request_uri']) {
  7. $temp = urldecode($_server['request_uri']);
  8. if(strexists($temp, '<') || strexists($temp, '"')) {
  9. $_get = shtmlspecialchars($_get);// xss
  10. }
  11. }

  12. echo $_server['document_root']."
    " //サーバードキュメントのルート変数を取得します

  13. echo $_server[' php_self ']."
    "; //コードを実行するファイルサーバーの絶対パスの変数を取得
  14. echo __file__."
    " //コードを実行するファイルサーバーの絶対パスの変数を取得ファイルのファイルシステム
  15. echo dirname(__file__ ); //ファイルがあるフォルダーのパスを取得する関数
  16. ?>
  17. //server function
  18. $_server["http_referer"]=http://localhost/lianxi /
  19. $_server["http_accept_lang"]=zh- cn
  20. $_server["http_accept_encoding"]=gzip、deflate
  21. $_server["http_user_agent"]=mozilla/4.0 (互換性; msie 6.0; windows nt 5.2; .net clr 1.1.4322; .net clr 2.0.50727)
  22. $_server["http_host"]=localhost
  23. $_server["http_connection"]=keep-alive
  24. $_server["path"]=c:windowssystem32;c:windows; c:windowssystem32wbem;c:プログラム ファイル共通ファイルadobeagl;c:プログラム ファイルmysqlmysql サーバー 5.0bin;c:php;c:phpext
  25. $_server["systemroot"]=c:windows
  26. $_server["comspec"]=c:windowssystem32cmd。 exe
  27. $_server["pathext"]=.com ;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh
  28. $_server["windir"]=c: windows
  29. $_server["server_signature"]=
  30. apache /2.0.55 (win32) localhost ポート 80 の php/5.1.1 サーバー \使用されるサーバー
  31. $_server["server_software"]=apache/2.0.55 (win32) ) php/5.1.1
  32. $_server["server_name "]=localhost \サーバー名
  33. $_server["server_addr"]=127.0.0.1
  34. $_server["server_port"]=80 \サーバーポート
  35. $_server["remote_addr "]=127.0.0.1
  36. $_server["document_root "]=d:/lianxi \Webサイトのホームディレクトリ
  37. $_server["server_admin"]=sss@163.com \Apacheインストール時に設定するメール
  38. $_server ["script_filename"]=d:/lianxi/lianxi/servervalues .php \現在の Web ページの絶対パス、
  39. $_server["remote_port"]=1076 \リモート ポート
  40. $_server["gateway_interface"]=cgi/ 1.1
  41. $_server["server_protocol"]=http/1.1
  42. $_server ["request_method"]=get
  43. $_server["query_string"]=\get?番号以降の内容
  44. $_server["request_uri"]=例:/lianxi/servervalues.php?a=1&b=2
  45. $_server["script_name"]=例:/lianxi/servervalues.php
  46. $_server[" php_self "]=/lianxi/servervalues.php \現在のWebページの相対パスを返します。
  47. $_server["request_time"]=1179190013 \実行時間の単位は10万分の1ミリ秒です
  48. $_server["argv" ]=array
  49. $ _server["argc"]=0

コードをコピー
例 2:

  1. /**
  2. __file__ 、
  3. getcwd()、
  4. $_server["request_uri"]、
  5. $_server["script_name"]、
  6. $_server["php_self"]、
  7. $_server["script_filename"],
コードをコピー

これらの変数または関数の類似点と相違点。 リクエストアドレスがあるとします: http://localhost:8080/test.php/age=20 test.php のフルパスは次のとおりです: d:/server/www/example/test.php 1)、getcwd() ブラウザによって要求されたページ ファイルが配置されているディレクトリ、つまり test.php ファイルが配置されているディレクトリを取得します: d:/server/www/example/, test.php で inculde("test_dir/test2.php") などの require または include ステートメントが実行される場合、 次に、test2.php の getcwd() 関数も、test.php が配置されているディレクトリを返します。 2)、__ファイル__ __file__ 変数が配置されているファイルの絶対パスを取得するために使用できるマジック変数。 例: test.php の __file__ は d:/server/www/example/test.php を取得します。 test_dir/test2.php の __file__ は d:/server/www/example/test_dir/test2.php を取得します。 3)、$_server["スクリプトファイル名"] ブラウザによって要求されたページ ファイルへのフル パスを取得します。 test.php および test_dir/test2.php で $_server["script_name"] を使用すると、d:/server/www/example/test.php が取得されます。 4)、$_server["スクリプト名"] ブラウザによって要求されたページ ファイルのファイル名を取得します。 注: $_server["script_name"] とは異なり、この変数はファイル名のみを取得し、パスは含まれません。 test.php および test_dir/test2.php で $_server["script_name"] を使用すると、test.php が作成されます。 もちろん、test.php や test_dir/test2.php でのbasename($_server["script_filename"])の実行は$_server["script_name"]と同じです。 test.php と test_dir/test2.php で realpath("test.php") を実行すると、結果は $_server["script_filename"] と同じになります。 5)、$_server["php_self"] ブラウザから要求されたページのファイル名が取得され、? 以降の内容が削除されます。 注: パスは含まれません。 たとえば、クライアントで http://localhost:8080/test.php?age=20&name=tom をリクエストします。 すると、test.php と test_dir/test2.php の両方の $_server["php_self"] が "test.php" を取得します。 「age=20&name=tom」は削除されます。 クライアントが http://localhost:8080/test.php/age=20&name=tom をリクエストした場合、 すると、test.php と test_dir/test2.php の両方の $_server["php_self"] が "test.php/age=20&name=tom" を取得します。 6)、$_server["request_uri"] ブラウザーによって要求されたページのファイル名と、ファイル名以降のすべてのコンテンツを取得します (注: # 記号以降のコンテンツは省略されます)。 たとえば、クライアントで http://localhost:8080/test.php?age=20&name=tom をリクエストします。 すると、test.php と test_dir/test2.php の両方の $_server["reuest_uri"] が "test.php" を取得します。 「age=20&name=tom」は削除されます。 クライアントが http://localhost:8080/test.php/age=20&name=tom をリクエストした場合、 すると、test.php と test_dir/test2.php の両方の $_server["request_uri"] が "test.php/age=20&name=tom" を取得します。 テスト.php:

  1. echo "test1.php 変数
    ";
  2. echo "getcwd: ", getcwd(), "
    ";
  3. echo "__file__: ", __file__, "
    ”;
  4. echo “request_uri: “, $_server["request_uri"], “
    ”;
  5. echo “script_name: “, $_server["script_name"]; br />";
  6. echo "php_self: ", $_server["php_self"], "
    ";
  7. echo "script_filename ", $_server["script_filename"] , "
  8. //test2.php をインクルードし、上記の変数を test2.php に出力して違いを確認します:
  9. include_once("test2/test2.php");
  10. ?>
コードをコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート