Nasıl sadece bir url vars php kullanarak alabilirim?

3 Cevap php

Ben bir url var,

example.com/?/page1

ve ben url GET kısmı, örneğin, ne olduğunu öğrenmek istiyorum:

?/page1

ben bunu nasıl yapabilirim? gibi, dizeleri ve malzeme bölmek zorunda kalmadan?

3 Cevap

Aşağıdaki değişken sorgu dizesinin tamamını içeren (yani url kısmı karakterini şu, değil mi?) Olacaktır:

$_SERVER['QUERY_STRING']

Eğer $ _SERVER dizinin içeriğinin kalanı hakkında merak ediyorsanız, onlar PHP kılavuzda here listelenen ediyoruz.

Normal formatı olduğu için garip bir GET URL:

domain.com/page.html?a=1&b=2

Phpinfo bir sürü yardımcı olacaktır:

<?php phpinfo(); ?>

Alaka Çıkışı:

<?php
// imagine URL is 'domain.com/page.html?a=1&b=2'
phpinfo();
echo $_GET['a']; // echoes '1'
echo $_GET['b']; // echoes '2'
echo $_SERVER['QUERY_STRING']; // echoes 'a=1&b=2'
echo $_SERVER['REQUEST_URI']; // echoes '/path/to/page.php?a=1&b=2'
?>

Eğer parse_url() ve parse_str() aramak istediğiniz gibi geliyor bana. Tabii ki, bu perde arkasında dize (ler) 'bölünmüş' olacaktır.

Daha sonra gerekirse http_build_query, sorguyu yeniden oluşturmak için kullanabilirsiniz.


 $url = "example.com/?/page1";
 $res = parse_url($url, PHP_URL_QUERY);
 print "Query:".$res."\n";

Çıktı:

Query:/page1