PHP kullanarak bir sayfanın URL'sini almak nasıl?

4 Cevap php

Burada acemi bir soru, bir sayfanın URL'sini almak ve ekranda yankı için kullanılabilecek herhangi bir dahili PHP etiketi var mı?

Teşekkürler.

4 Cevap

Geçerli sayfanın Echos URL.

$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
if ($_SERVER["SERVER_PORT"] != "80")
{
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} 
else 
{
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
echo $pageURL;

Web sunucusu, standart portları (HTTP için 80 veya HTTPS için 443) üzerinde çalışıyorsa bu işe:

getservbyport($_SERVER['SERVER_PORT'], 'tcp') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']

$_Server değişken bir göz atın. Özellikle muhtemelen REQUEST_URI değeri istiyorum.

$base_url = _SERVER["HTTP_HOST"];
$url_path = _SERVER["REQUEST_URI"];

echo $base_url.$url_path;

Istenen sayfayı varsayarsak oldu http://sample.org/test.php, almak olacaktır:

 sample.org/test.php

Sen düzenini almak için daha fazla $ _SERVER değişkenleri eklemek gerekir (http://). REQUEST_URI da sağlam herhangi bir GET değişkenleri bırakır, böylece sayfa isteği ise http://sample.org/test.php?stuff=junk, almak olacaktır:

 sample.org/test.php?stuff=junk

Kullanmak $_SERVER['PHP_SELF'] yerine, bıraktığı o isteseydi REQUEST_URI.

Eğer küresel değişkenler mevcut olduğu görmek gerçekten çok kolay bir şekilde istiyorsanız, aşağıdaki bir sayfa oluşturun:

<?php

phpinfo();

?>

ve merak herhangi bir dizine o senaryoyu koydu. Eğer düzgün bilgi her türlü göreceksiniz değil sadece, aynı zamanda göreceksiniz nasıl böyle HTTP HTTPS, mod_rewrite vs, ve hatta Apache IIS can vs gibi çeşitli faktörler farklı veya hiç bazı küresel değişkenleri ayarlayın.