|
|
|
ต้องการเพิ่มข้อมูลใส่ใน Database ตามเวลาที่กำหนดด้วยโค้ด PHP |
|
|
|
|
|
|
|
ทำได้ครับ แต่ต้องใช้ jquery ajax Run เปิดหน้าจอทิ้งไว้ตลอด ซึ่งไม่ใช่วิธีที่ดีเท่าไหร่ แต่ถ้ามันจำเป็นจริงๆ เพราะทรัพยากรน้อย ก็พอแก้ขัดได้ครับ หลักการก็ตั้ง setinterval เพื่อใช้ $.post หรือ $.ajax ชี้ไปไฟล์ที่ประมวลผลครับ
|
|
|
|
|
Date :
2019-11-06 16:34:12 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ศึกษาเรื่อง Ob_start()
เพื่อสั่งให้ php ทำงานแบบ resident
แต่ต้องจำไว้อย่างหนึ่ง ต้องเขียนโปรแกรม ให้ตรวจสอบ ได้ว่าจะหยุดโปรแกรมได้เมื่อไหร่
Code (PHP)
ob_end_clean();
header("Connection: close");
ignore_user_abort(true);
ob_start();
echo "response text";
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush(); // All output buffers must be flushed here
flush(); // Force output to client
sleep(2);
// Start code for resident
while(is_active()){
if( next_time < time()){
your_code();
next_time = ??;
}
sleep( next_time - cur_time);
}
function is_active(){
return true; // boolean true ตรงนี้ ให้อ่านค่าจาก database มา return เพื่อหยุดโปรแกรม
}
function your_code(){
.....
.....
}
ปล. เพิ่มเติมต้องเขียนเช็คให้ได้ว่า โปรแกรมยัง รันอยู่หรือเปล่า ถ้ารันอยู่ก็ผ่านไป
|
ประวัติการแก้ไข 2019-11-08 19:53:52
|
|
|
|
Date :
2019-11-08 19:48:59 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|