php ile url karma almak?

4 Cevap php

Yani burada birisi url diyez (#) php işlevi parse_url tarafından alınamadı söyledi? Bu doğru mu?

Benim web sitesi ajax etkileri bir sürü var ve ben bu hash değerlerine dayalı bilgileri görüntülemek böylece index.php bir karma ile bir url geçmek mümkün olmak istiyorum.

örn. Bir kullanıcı tıkladığında ve benim web sitesinde gider ve o paylaşmak istediği bir şey bulursa, o zaman adresini kopyalayıp verebilir ve onun arkadaşına göndermek ve bu kişinin girdiğinde o aynı şeyi görür.

(html öyle bir sayfa gösterilmesini doğru içerik için ikinci kez yenilemek zorundadır, ilk gösterecektir) i çerezleri hash değerleri kaydetmek için javascript kullanarak denedim ancak Firefox ve Safari onun çok yavaş ile çalışmıyor.

herhangi başka bir çözüm açığız

EDIT: im çok karıştı .. ben parse_url kullanırsanız i karma almak için php url kendimi yazmak zorunda? nokta ... benim soru benim dostum # değerleri ile url girin ve php işlemek olabilir mi eğer o zaman nedir? bir hayır gibi görünüyor, sağ am i?

4 Cevap

parse_url() bir url dize karma alabilirsiniz. Imza Not:

mixed parse_url ( string $url [, int $component = -1 ] )

Zaten dize bilmeniz gerekir. Örneğin, docs:

<?php

  $url = 'http://username:password@hostname/path?arg=value#anchor';
  print_r(parse_url($url));
  echo parse_url($url, PHP_URL_PATH);

?>

Çıkışlar

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path

Anahtar "fragmanı" altında Not giriş.

URL karma bile get sunucuya yapar. Eğer sunucu tarafında herhangi bir programlama dili erişebilirsiniz hiçbir yolu yoktur.

Örnek php manual,

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

someone here in SO told me that the hash (#) in the url could be retrieved by php function parse_url? is this true?

Evet:

parse_url('http://stackoverflow.com/questions/1957030/retrieve-the-hash-in-the-url-with-php/1957040#1957040', PHP_URL_FRAGMENT); // 1957040

HTTP_REFERER bu karma (sanmıyorum) tutar Ama eğer emin, à priori tam URL'yi değil bilmeden sunucu tarafında karma belirleyemiyor.