ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingขอความช่วยเหลือ[PHP] Function System() เพื่อการตั้งเวลาเครื่องผ่านเว็บ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ขอความช่วยเหลือ[PHP] Function System() เพื่อการตั้งเวลาเครื่องผ่านเว็บ  (อ่าน 834 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
l3master
สมุนแก๊งเสียว
*

พลังน้ำใจ: 118
ออฟไลน์ ออฟไลน์

กระทู้: 987



ดูรายละเอียด เว็บไซต์
« เมื่อ: 22 มีนาคม 2016, 21:56:05 »

พอดีผมทำโปรเจค Rpi อ่ะครับ ระบบคล้ายๆ Linux
ตอนนี้จนปัญญาจริงๆ ครับ ไม่รู้พึ่งทางไหนดี  wanwan031


ผมต้องการจะต้องค่าเวลาและวันที่ผ่านทางหน้าเว็บอ่ะครับ
แต่จนวันนี้ก็ทำไม่ได้

โดยคอมมานหลักในการตั้งเวลาก็ประมาณนี้ date -s "2 OCT 2006 18:00:00"
ผมก็เลยเขียน php ดังนี้ครับ
โดยรับค่าจากผู้ใช้มา แล้วก็เปลี่ยนวันที่เครื่องhost ตามค่าที่ได้รับอ่ะครับ

                      $day=$_POST['day'];
                      $month=$_POST['month'];
                      $year=$_POST['year'];
                      system("sudo date -s ".$day." ".$month." ".$year."");

ทำแบบนี้ไม่มีเออเร่อครับ แต่เวลาก็ไม่เปลี่ยนด้วย
ผมก็ลองหลายวิธีอยู่เหมือนกัน ไม่ได้สักที วอนผู้รู้ช่วยชี้แนะด้วยครับ  wanwan017

ป.ล.ผมลองใช้คำสั่ง system("sudo shutdown -r now"); เพื่อสั่งรีสตาร์ทผ่านเครื่องก็ผ่านนะครับ
บันทึกการเข้า



CoreBlack.Net รับทำ แชทบอทไลน์ Line Oa. และ แชทบอท Facebook แฟนเพจ
รับออกแบบหน้าเว็บ | พัฒนาเว็บไซต์ | พัฒนาระบบหลังบ้าน | พัฒนา API Service และสคริปต่างๆ

@Add Line ID : boobewc (ให้คำปรึกษาฟรีครับ ออนไลน์เกือบตลอด 24 ชม.)
whatif
Newbie
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 64



ดูรายละเอียด
« ตอบ #1 เมื่อ: 22 มีนาคม 2016, 23:25:23 »

จาก system("sudo date -s ".$day." ".$month." ".$year."");
1) ลอง เปลี่ยนเป็น echo แทนก่อนนะ echo("sudo date -s ".$day." ".$month." ".$year."");
2) แล้วเอา output จาก 1) ที่ได้ไปลองรัน shell ดูว่ามันผ่านมั้ย ?

3) คิดว่าไม่ผ่าน ให้ใส่ single quote เข้าไปคร่อมวันที่ ตามนี้ ตัวแดง
echo("sudo date -s '".$day." ".$month." ".$year."'");

4) เอา output ที่ได้จาก 3) ไปลองรันที่ shell อีกครั้ง
5) หากผ่านแก้ echo เป็น system

ลองดูนะ ไวๆ ก็ทำ 3,4,5 เลย

ปล.
a) ทำไมตัวอุปกรณ์ที่ว่าไม่มี sync time ผ่าน ntp อ่ะ ?
b) หากอุปกรณ์มันคล้ายๆ linux ต้องทำ hwclock --systohc ด้วยม่ะ เพื่อ set the hardware clock to the current system time
บันทึกการเข้า
ngokung
ก๊วนเสียว
*

พลังน้ำใจ: 45
ออฟไลน์ ออฟไลน์

กระทู้: 377



ดูรายละเอียด
« ตอบ #2 เมื่อ: 23 มีนาคม 2016, 00:11:44 »

แบบนี้ได้ไหมครับ

In Windows, the code would look like this:
shell_exec("date 09-09-99"); // Use "date mm-dd-yy" or "time hh:mm:ss", respectively

In UNIX, according to the date man page, the code would look like:
shell_exec("date 0909hhmm1999"); // It says "date MMDDhhmiYYYY". I'm not sure how to set seconds, although I assume "mi" = "minutes"

อ้างอิงจาก http://stackoverflow.com/quest...ge-todays-date-and-time-in-php
บันทึกการเข้า
l3master
สมุนแก๊งเสียว
*

พลังน้ำใจ: 118
ออฟไลน์ ออฟไลน์

กระทู้: 987



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 23 มีนาคม 2016, 02:57:19 »

ขอบคุณทุกท่านนะครับ เดียวพรุ่งนี้ผมจะลองทำ
ตัว raspberrypi มี syc เวลาอยู่ครับ
ผมเข้าใจว่า เป็นพวกอ้างอิงตาม Timezone ใช่มั้ยหว่า
ถ้าใช่มั้นต้องเรียก ไปตั้งทุกครั้งที่เปิดเครื่องเลยอ่ะครับ

ส่วน Hardward clock ผมตั้งไม่เป็นอ่ะครับ T^T
เพราะงั้นผมต้องตั้งค่าวันที่ใหม่ทุกๆครั้ง ที่เปิดเครื่องครับ
จึงแก้ปัญหาที่ปลายเหตุ โดยการเพิ่มฟังก์ชั่นนี้แหละครับ

หน้าตาที่ผมออกแบบไว้ประมาณนี้ครับ


ป.ล.ผมทำโปรเจคสมาร์ทฟาร์มครับ พวกตั้งเวลารถน้ำ ตั้งเวลาไห้แสง ประมาณนี้ครับ
บันทึกการเข้า



CoreBlack.Net รับทำ แชทบอทไลน์ Line Oa. และ แชทบอท Facebook แฟนเพจ
รับออกแบบหน้าเว็บ | พัฒนาเว็บไซต์ | พัฒนาระบบหลังบ้าน | พัฒนา API Service และสคริปต่างๆ

@Add Line ID : boobewc (ให้คำปรึกษาฟรีครับ ออนไลน์เกือบตลอด 24 ชม.)
honghong
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 114
ออฟไลน์ ออฟไลน์

กระทู้: 1,267



ดูรายละเอียด
« ตอบ #4 เมื่อ: 23 มีนาคม 2016, 14:19:48 »

ลองใช้ ดูครับ

โค๊ด:
system("sudo date -s \"{$day} {$month} {$year}\"");

อ่านค่าที่รับมาก่อน เหมือนด้านบน
โค๊ด:
echo"sudo date -s \"{$day} {$month} {$year}\"";

อ้างอิง จากที่เขาทำมา
โค๊ด:
exec('date -s "24 NOV 2013 12:38:00"')
http://stackoverflow.com/quest...95/php-change-server-date-time
« แก้ไขครั้งสุดท้าย: 23 มีนาคม 2016, 14:23:32 โดย honghong » บันทึกการเข้า
ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,099



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 27 มีนาคม 2016, 21:54:42 »

ทดลองแบบ ปีเดือนวัน ซิครับ

                      system('sudo date -s "'.$year.'-'.$month.'-'.$day.'"');

ปล. ถ้าเป็น hardware ลองหา real-time clock module สำหรับ Raspberry Pi ดูซิครับ โครงงานน่าสนจัง
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์