PHP kullanan bir sayfayı periyodik olarak nasıl yenileyebilirim? PHP ile yapamazsam, önerilen en iyi senaryo nedir?
PHP kullanan bir sayfayı periyodik olarak nasıl yenileyebilirim? PHP ile yapamazsam, önerilen en iyi senaryo nedir?
Yanıtlar:
PHP ile yapabilirsiniz:
header("Refresh:0");
Mevcut sayfanızı yeniler ve onu başka bir sayfaya yönlendirmeniz gerekirse, aşağıdakileri kullanın:
header("Refresh:0; url=page2.php");
In PHP kullanabilirsiniz:
$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");
Veya sadece JavaScript'i kullanın window.location.reload()
.
header("Location: ".$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF']
, tarayıcınızda gördüğünüz gerçek URL'yi değil, size doğru komut dosyası yolunu bulabilirsiniz . Bu durumda, $_SERVER['REQUEST_URI']
onun yerine kullanmayı deneyin .
PHP içeriğini yenilemenin iki yolunu buldum:
1. HTML meta
etiketini kullanarak :
echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'
2. PHP yenileme hızını kullanma:
$delay = 0; // Where 0 is an example of a time delay. You can use 5 for 5 seconds, for example!
header("Refresh: $delay;");
//Refresh by HTTP META
=> // Refresh by HTML META
bu da yukarıdan kopyalanmış bir yanıta benziyor.
Bir sayfayı yenilemenin tüm PHP yollarının yanı sıra, sayfa aşağıdaki HTML meta etiketiyle de yenilenecektir:
<meta http-equiv="refresh" content="5">
Meta yenileme konusuna bakın - "mevcut web sayfasını veya çerçeveyi belirli bir zaman aralığından sonra otomatik olarak yenileme"
Zamanı content
değer dahilinde ayarlayabilirsiniz .
content
saniyeler içinde herhangi bir değere eşit ayarlayabilirsin - benim yorumum hala 0 saniyelik bir yenileme muhtemelen senin istediğin şey değil :)
header('Location: .');
sayfayı Chrome, Firefox, Edge ve Internet Explorer 11'de yeniliyor gibi görünüyor.
Bunu PHP'de yapamazsınız . Sayfa yüklendikten sonra PHP ölür ve kontrolden çıkar.
Birkaç seçeneğiniz var:
<meta http-equiv="refresh" content="5">
Ben düşünüyorum yenileme meta etiketi kolay ve en uygundur.
JavaScript kullanarak yenileyebilirsiniz. Tam sayfa yenilemesinden ziyade, içeriği bir div içinde yenilenecek şekilde verebilirsiniz. Daha sonra JavaScript kullanarak yalnızca o belirli div'i yenileyebilirsiniz ve tam sayfa yenilemeden daha hızlı çalışır.
PHP , sunucu tarafı dilidir, bu nedenle sayfayı PHP ile yenileyemezsiniz, ancak JavaScript, sayfayı yenilemek için en iyi seçenektir:
location.reload();
Ziyaret Konum yeniden () yöntemi .
meta
Etiketi şu şekilde yankılayın :
URL, yenilemeden sonra sayfanın yeniden yönlendirilmesi gereken yerdir.
echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
Bu meta etiketi PHP'ye eklemek yardımcı olabilir:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
Bir numara, URL'nin sonuna rastgele bir sayı eklemektir. Bu şekilde her seferinde dosyayı yeniden adlandırmanız gerekmez. Örneğin:
echo "<img src='temp.jpg?r=3892384947438'>"
Tarayıcı, rastgele sayı farklı olduğu sürece onu önbelleğe almayacaktır, ancak web sunucusu bunu göz ardı edecektir.