มีฟังก์ชัน PHP บางอย่างสำหรับการเปลี่ยนเส้นทางหลังจากผ่านไประยะหนึ่ง เคยเห็นที่ไหน แต่จำไม่ได้ มันเหมือนกับการเปลี่ยนเส้นทางของ gmail หลังจากเข้าสู่ระบบแล้วใครช่วยเตือนฉันได้ไหม
Refreshส่วนหัวไม่ใช่แบบมาตรฐาน ฉันไม่เคยใช้สิ่งที่ไม่ครอบคลุมด้วย RFCs
มีฟังก์ชัน PHP บางอย่างสำหรับการเปลี่ยนเส้นทางหลังจากผ่านไประยะหนึ่ง เคยเห็นที่ไหน แต่จำไม่ได้ มันเหมือนกับการเปลี่ยนเส้นทางของ gmail หลังจากเข้าสู่ระบบแล้วใครช่วยเตือนฉันได้ไหม
Refreshส่วนหัวไม่ใช่แบบมาตรฐาน ฉันไม่เคยใช้สิ่งที่ไม่ครอบคลุมด้วย RFCs
คำตอบ:
header( "refresh:5;url=wherever.php" );
นี่คือวิธีตั้งค่า php headerซึ่งจะเปลี่ยนเส้นทางคุณไปwherever.phpใน5 วินาที
โปรดจำไว้ว่าต้องเรียก header () ก่อนที่จะส่งเอาต์พุตจริงไม่ว่าจะโดยแท็ก HTML ปกติบรรทัดว่างในไฟล์หรือจาก PHP เป็นข้อผิดพลาดที่พบบ่อยมากในการอ่านโค้ดที่มีฟังก์ชัน include หรือต้องการฟังก์ชันหรือฟังก์ชันการเข้าถึงไฟล์อื่นและมีช่องว่างหรือบรรทัดว่างที่เอาต์พุตก่อนที่จะเรียก header () ปัญหาเดียวกันนี้เกิดขึ้นเมื่อใช้ไฟล์ PHP / HTML ไฟล์เดียว (ที่มาphp.net )
die();
คุณสามารถใช้จาวาสคริปต์เพื่อเปลี่ยนเส้นทางได้หลังจากนั้นสักครู่
setTimeout(function () {
window.location.href= 'http://www.google.com'; // the redirect goes here
},5000); // 5 seconds
คุณสามารถลองสิ่งนี้:
header('Refresh: 10; URL=http://yoursite.com/page.php');
โดยที่ 10 เป็นวินาที
คุณต้องการใช้ php เพื่อเขียนเมตาแท็ก
<meta http-equiv="refresh" content="5;url=http://www.yoursite.com">
ไม่แนะนำ แต่เป็นไปได้ 5 ในตัวอย่างนี้คือจำนวนวินาทีก่อนที่จะรีเฟรช
การรีเฟรช PHP หลังจากผ่านไป 5 วินาทีไม่ได้ผลสำหรับฉันเมื่อเปิดกล่องโต้ตอบบันทึกเป็นเพื่อบันทึกไฟล์: (header ('Content-type: text / plain'); header ("Content-Disposition: attachment; filename = $ filename > ");)
หลังจากคลิกลิงก์บันทึกเป็นและบันทึกไฟล์แล้วการรีเฟรชตามกำหนดเวลาจะหยุดบนหน้าการโทร
อย่างไรก็ตามขอบคุณมากโซลูชันจาวาสคริปต์ของ ibu ยังคงอยู่ในการติ๊กและรีเฟรชหน้าเว็บของฉันซึ่งเป็นสิ่งที่ฉันต้องการสำหรับแอปพลิเคชันเฉพาะของฉัน ดังนั้นขอขอบคุณ ibu สำหรับการโพสต์วิธีแก้ปัญหา javascript สำหรับปัญหา php ที่นี่
คุณสามารถใช้จาวาสคริปต์เพื่อเปลี่ยนเส้นทางได้หลังจากนั้นสักครู่
setTimeout(function () {
window.location.href = 'http://www.google.com';
},5000); // 5 seconds
header( "refresh:5;url=wherever.php" );
คุณสามารถใช้รหัสนี้ได้ตามที่ teneff กล่าว แต่คุณไม่จำเป็นต้องใส่ส่วนหัวก่อนเอาต์พุตที่ส่งออกไป (สิ่งนี้จะส่งออก "ไม่สามารถย้ายส่วนหัว .... : 3 error")
ในการแก้ปัญหานี้ให้ใช้ฟังก์ชัน php ob_start();ก่อนที่ html จะถูกส่งออก
หากต้องการยุติ ob ให้ใส่ob_end_flush();หลังจากที่คุณไม่มีเอาต์พุต html
ไชโย!
หากคุณกำลังเปลี่ยนเส้นทางด้วย PHP คุณก็แค่ใช้คำสั่ง sleep () เพื่อพักไม่ว่าจะกี่วินาทีก่อนที่จะเปลี่ยนเส้นทาง
แต่ฉันคิดว่าสิ่งที่คุณอ้างถึงคือเมตารีเฟรชแท็ก:
http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm
คุณสามารถใช้โค้ดจาวาสคริปต์นี้เพื่อเปลี่ยนเส้นทางหลังจากเวลาที่กำหนด หวังว่ามันจะได้ผล
setRedirectTime(function ()
{
window.location.href= 'https://www.google.com'; // the redirect URL will be here
},10000); // 10 seconds
เปลี่ยนเส้นทางการเขียนโปรแกรมเวลา PHP:
<?php
header("Refresh:10;url=***-----índex.php--OR----URL-----");
?>