// file runclone.php defind('x_Interval', 60); // กำหนด interval สำหรับ cronjob เป็นวินาที $con = new mysqli('host','user','paswd','database'); if ($con->errno) exit; // หรือจะให้ทำอะไรต่อก็ว่าไปตามสดวก //----------------------------------------------------------- if ( isset($_GET['close'])){ // runclone.php?close=1 // สั่งปิดการทำงาน $con->query('insert into table (time_stamp) values('.(time()+x_Interval+1000).')'); exit('สั่งปิดการทำงานแล้ว'); } //----------------------------------------------------------- if($act=is_activate($con)){ exit( 'กำลังทำงานอยู่' ); } if( isset($_GET['isActive'])){ // runclone.php?isActive=1 ตรวจสอบสถานะ exit( 'หยุดการทำงานแล้ว'); } //----------------------------------------------------------- $con->close(); //----------------------------------------------------------- //-------- กำหนดการทำงาน แบบ resident -------- //----------------------------------------------------------- ob_end_clean(); header("Connection: close"); ignore_user_abort(true); ob_start(); echo "Server received your request."; $size = ob_get_length(); header("Content-Length: $size"); ob_end_flush(); // All output buffers must be flushed here flush(); // Force output to client // Do processing here sleep(1); //----------------------------------------------------------- while(true){ $con = new mysqli('host','user','paswd','database'); if ($con->errno) exit; // หรือจะให้ทำอะไรต่อก็ว่าไปตามสดวก save_for_active($con); // เก็บข้อมูลลง database เพื่อให้รู้ว่ากำลังทำงานอยู่ //----------------------------------------------------------- -- do somthing -- //----------------------------------------------------------- if (chk_close($con)) break; // อ่านข้อมูลจาก database ว่ามีการกำหนดให้ปิดโปรแกรมหรือเปล่า $con->close(); sleep(x_Interval); // Cronjob interval on second } //----------------------------------------------------------- function chk_close($con){ // function ไว้ตรวจสอบ คำสั่งปิดการทำงาน จากภายนอก $con->query('delete from table where (time_stamp>now())'); return $con->affected_rows>0; } //----------------------------------------------------------- function is_activate($con){ // sql สำหรับสั่งตรวจสอบการทำงานจากภายนอก $rs=$con->query('select * from table where (UNIX_TIMESTAMP() - time_stamp) < '.x_Interval.' '); $chk=$rs->num_rows>0; $rs->close(); return $chk; } //----------------------------------------------------------- function save_for_active($con){ // function สำหรับให้ภายนอกรู้ว่ายังทำงานอยู่ $con->query('insert into table (time_stamp) values( time())'); }
เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง