0

phpスクリプトで完全なURLアドレスを取得したいのですが、このコードは常に正しいURLを提供しますか?または、場合によっては、このコードは間違ったURLを提供しますか?

 if (empty($_SERVER['HTTPS'])) {
 $s = "";
 }
 else {
 $s = "s";
 }
 $url =  "http".$s."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
4

2 に答える 2

0

ポート番号を忘れてしまいました。これは、現在のページのURLを受け取るための完全な機能コードです。

function selfURL() {
  $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
  $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
  $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
  return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}
于 2012-07-01T13:36:32.537 に答える
0

標準のポート80を使用している場合は問題ないと思います。そうでない場合は、それも含めることをお勧めします。

$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
于 2012-07-01T13:34:31.417 に答える