ฉันจะรีเฟรชหน้าเว็บโดยใช้ PHP เป็นระยะได้อย่างไร ถ้าฉันไม่สามารถทำได้ด้วย PHP สถานการณ์ที่แนะนำดีที่สุดคืออะไร
ฉันจะรีเฟรชหน้าเว็บโดยใช้ PHP เป็นระยะได้อย่างไร ถ้าฉันไม่สามารถทำได้ด้วย PHP สถานการณ์ที่แนะนำดีที่สุดคืออะไร
คำตอบ:
คุณสามารถทำได้ด้วย PHP:
header("Refresh:0");
มันรีเฟรชหน้าปัจจุบันของคุณและถ้าคุณต้องการที่จะเปลี่ยนเส้นทางไปยังหน้าอื่นใช้ต่อไปนี้:
header("Refresh:0; url=page2.php");
ในPHPคุณสามารถใช้:
$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");
หรือเพียงแค่ใช้ของ window.location.reload()
JavaScript
header("Location: ".$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF']
ให้เส้นทางสคริปต์จริงไม่ใช่ URL จริงที่คุณเห็นในเบราว์เซอร์ของคุณ ในกรณีนี้ให้ลองใช้$_SERVER['REQUEST_URI']
แทน
คุณสามารถรีเฟรชหน้าเป็นระยะโดยใช้ PHP:
<?php
header("refresh: 3;");
?>
วิธีนี้จะรีเฟรชหน้าทุกสามวินาที
ที่เป็นไปได้เพียงแค่มีheader ()ใน PHP:
header('Refresh: 1; url=index.php');
ฉันพบสองวิธีในการรีเฟรชเนื้อหา PHP:
1. การใช้meta
แท็กHTML :
echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'
2. ใช้อัตราการรีเฟรช PHP:
$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
และนี่ดูเหมือนคำตอบที่คัดลอกมาจากด้านบน
นอกจากวิธี PHP ทั้งหมดในการรีเฟรชหน้าแล้วเพจจะถูกรีเฟรชด้วยเมตาแท็ก HTML ต่อไปนี้:
<meta http-equiv="refresh" content="5">
ดูการรีเฟรช Meta - "รีเฟรชหน้าเว็บหรือเฟรมปัจจุบันโดยอัตโนมัติหลังจากช่วงเวลาที่กำหนด"
คุณสามารถกำหนดเวลาภายในcontent
ค่า
content
เท่ากับค่าใด ๆ ในวินาที - ความคิดเห็นของฉันยังคงเป็นที่น่าสังเกตว่าการฟื้นฟูของ 0 วินาทีอาจจะไม่ใช่สิ่งที่คุณกำลังจะให้ :)
header('Location: .');
ดูเหมือนว่าจะรีเฟรชหน้าใน Chrome, Firefox, Edge และ Internet Explorer 11
คุณไม่สามารถทำมันในPHP เมื่อโหลดเพจแล้ว PHP ก็จะตายและควบคุมไม่ได้
คุณมีตัวเลือกน้อย:
<meta http-equiv="refresh" content="5">
ฉันคิดว่าเมตาแท็กการรีเฟรชเป็นวิธีที่ง่ายที่สุดและสะดวกที่สุด
คุณสามารถรีเฟรชโดยใช้ JavaScript แทนที่จะรีเฟรชหน้าสมบูรณ์คุณสามารถให้เนื้อหาที่จะรีเฟรชใน div จากนั้นโดยใช้ JavaScript คุณสามารถรีเฟรช div เฉพาะนั้นและทำงานได้เร็วกว่าการรีเฟรชหน้าโดยสมบูรณ์
PHPเป็นภาษาฝั่งเซิร์ฟเวอร์ดังนั้นคุณจึงไม่สามารถรีเฟรชหน้าเว็บด้วย PHP ได้ แต่ JavaScript เป็นตัวเลือกที่ดีที่สุดในการรีเฟรชหน้าเว็บ:
location.reload();
เยี่ยมชมโหลดที่ตั้ง () วิธีการ
สะท้อนmeta
แท็กดังนี้:
URL คือหน้าที่ควรเปลี่ยนเส้นทางไปยังหน้าหลังจากรีเฟรช
echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
การเพิ่มเมตาแท็กนี้ใน PHP อาจช่วยได้:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
เคล็ดลับหนึ่งคือการเพิ่มตัวเลขสุ่มที่ส่วนท้ายของ URL ด้วยวิธีนี้คุณไม่ต้องเปลี่ยนชื่อไฟล์ทุกครั้ง เช่น:
echo "<img src='temp.jpg?r=3892384947438'>"
เบราว์เซอร์จะไม่แคชตราบเท่าที่หมายเลขสุ่มแตกต่างกัน แต่เว็บเซิร์ฟเวอร์จะไม่สนใจ