request_helper.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. /**
  3. * Description of newPHPClass
  4. *
  5. * @author stanley-king
  6. */
  7. class request_helper
  8. {
  9. static public function fcgi_role() {
  10. return fcgi_getparam('FCGI_ROLE');
  11. }
  12. static public function script_file() {
  13. return fcgi_getparam('SCRIPT_FILENAME');
  14. }
  15. static public function query_string() {
  16. return fcgi_getparam('QUERY_STRING');
  17. }
  18. static public function method() {
  19. return fcgi_getparam('REQUEST_METHOD');
  20. }
  21. static public function content_type() {
  22. return fcgi_getparam('REQUEST_METHOD');
  23. }
  24. static public function content_length() {
  25. return fcgi_getparam('CONTENT_LENGTH');
  26. }
  27. static public function script_name() {
  28. return fcgi_getparam('SCRIPT_NAME');
  29. }
  30. static public function req_uri() {
  31. return fcgi_getparam('REQUEST_URI');
  32. }
  33. static public function doc_uri() {
  34. return fcgi_getparam('DOCUMENT_URI');
  35. }
  36. static public function doc_root() {
  37. return fcgi_getparam('DOCUMENT_ROOT');
  38. }
  39. static public function srv_protocol() {
  40. return fcgi_getparam('SERVER_PROTOCOL');
  41. }
  42. static public function gate_interface() {
  43. return fcgi_getparam('GATEWAY_INTERFACE');
  44. }
  45. static public function srv_software() {
  46. return fcgi_getparam('SERVER_SOFTWARE');
  47. }
  48. static public function remote_addr() {
  49. return fcgi_getparam('REMOTE_ADDR');
  50. }
  51. static public function remote_port() {
  52. return fcgi_getparam('REMOTE_PORT');
  53. }
  54. static public function srv_addr() {
  55. return fcgi_getparam('SERVER_ADDR');
  56. }
  57. static public function srv_port() {
  58. return fcgi_getparam('SERVER_PORT');
  59. }
  60. static public function srv_name() {
  61. return fcgi_getparam('SERVER_NAME');
  62. }
  63. static public function redirect_status() {
  64. return fcgi_getparam('REDIRECT_STATUS');
  65. }
  66. static public function http_host() {
  67. return fcgi_getparam('HTTP_HOST');
  68. }
  69. static public function http_connection() {
  70. return fcgi_getparam('HTTP_CONNECTION');
  71. }
  72. static public function http_accept() {
  73. return fcgi_getparam('HTTP_ACCEPT');
  74. }
  75. static public function http_upgrade_insecure_requests() {
  76. return fcgi_getparam('HTTP_UPGRADE_INSECURE_REQUESTS');
  77. }
  78. static public function http_useragent() {
  79. return fcgi_getparam('HTTP_USER_AGENT');
  80. }
  81. static public function http_accept_encoding() {
  82. return fcgi_getparam('HTTP_ACCEPT_ENCODING');
  83. }
  84. static public function http_accept_language() {
  85. return fcgi_getparam('HTTP_ACCEPT_LANGUAGE');
  86. }
  87. static public function http_cookie() {
  88. return fcgi_getparam('HTTP_COOKIE');
  89. }
  90. }
  91. $_GET = array();
  92. $_POST = array();
  93. function init_request()
  94. {
  95. $method = strtolower(request_helper::method());
  96. $squery = request_helper::query_string();
  97. $params = preg_split('/&|=/', $squery);
  98. if($method == 'get')
  99. {
  100. for($i = 0; $i < count($params); ++$i) {
  101. $_GET[ $params[$i] ] = $params[++$i];
  102. }
  103. }
  104. elseif($method == 'post')
  105. {
  106. for($i = 0; $i < count($params); ++$i) {
  107. $_POST[ $params[$i] ] = $params[++$i];
  108. }
  109. }
  110. }
  111. class local_request
  112. {
  113. private $script_file;
  114. private $query_string;
  115. private $method;
  116. public function __construct($uri) {
  117. $param = parse_url($uri);
  118. $this->script_file = BASE_ROOT_PATH . $param['path'];
  119. $this->query_string = $param['query'];
  120. $this->method = 'GET';
  121. }
  122. public function script_file() {
  123. return $this->script_file;
  124. }
  125. public function query_string()
  126. {
  127. return $this->query_string;
  128. }
  129. public function method() {
  130. return $this->method;
  131. }
  132. }
  133. function init_localreq(local_request $req)
  134. {
  135. $squery = $req->query_string();
  136. $params = preg_split('/&|=/', $squery);
  137. $method = strtolower($req->method());
  138. if($method == 'get' || $method == 'post')
  139. {
  140. for($i = 0; $i < count($params); ++$i) {
  141. $key = $params[$i];
  142. $val = $params[++$i];
  143. $_GET[$key] = $val;
  144. $_POST[$key] = $val;
  145. }
  146. }
  147. }