สวัสดีครับพี่ๆและอาจารย์ทุกท่านครับ ผมมีปัญหาอยากจะสอบถามนิดหน่อยครับ เรื่อง การตรวจสอบ การเสียบ port usb ครับ โดยใช้ php ในการ เช็ค
try catch และ/หรือ file_exists() ว่ามีไฟล์อยู่ไหม
Code (PHP)
$fileName = 'COM3';
if ( file_exists($fileName) && ($fp = fopen($fileName, "rb"))!==false ){
$str = stream_get_contents($fp);
fclose($fp);
}else{
echo 'กรุณาเสียบ USB';
}
Date :
2020-05-29 19:49:56
By :
PhrayaDev
จริงๆ ต้องรู้ก่อนว่าติดต่อกับ USB อย่างไร
ถ้าใช้ PHP Serial ลอง
Code (PHP)
if (!$serial->deviceOpen()) {
echo 'กรุณาเสียบ USB';
}
Date :
2020-05-30 01:00:36
By :
PhrayaDev
file_exists กับ is_file หรือ is_dir มันก็ดักได้ไม่ใช่เหรอ? ได้ลองหรือยัง? มันน่าจะง่ายกว่าหาวิธีตรวจ usb อีกนะ
Code (PHP)
if (file_exists('path') && is_file('path')) {// ตรวจหาที่เป็นไฟล์ต้องมีอยู่
// fopen
}
if (file_exists('path') && is_dir('path')) {// ตรวจหาที่เป็นโฟลเดอร์
// fopen
}
ประวัติการแก้ไข 2020-05-30 07:39:29
Date :
2020-05-30 07:37:39
By :
mr.v
มันหาไฟล์ ไม่เจอ ตอน stream_get_content( $var);
ก็เช็ค $var ดูว่า ถูกต้องไหม
และ ก็ window ใช้ path Drive:\path ตรวจสอบตาม คห 4 ง่ายกว่านะครับ
แต่ที่สำคัญเขียนไว้ยังไง ตกอะไรไปหรือเปล่า ตัวแปรถูกต้องไหม ถ้าไม่ได้เอาโค๊ดมาลง ก็ต้องหาเองแหล่ะครับ
เพราะหลักๆ ที่ทั้งสองท่านตอบ ก็ใช้ได้แล้ว ก็อยู่จขกท เอาไปประยุกต์ยังไงถีงยัง มี error
บางทีมันเส้นผมบังภูเขา ความอ่อนเพลียทำให้หูอื้อตาลาย สมองเฉื่อย
Date :
2020-05-30 10:31:59
By :
Chaidhanan
ตอบความคิดเห็นที่ : 3 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-30 01:00:36
รายละเอียดของการตอบ ::
นี้โค้ดส่งค่าไป ที่ แผง Arduino ครับ ผ่าน port USB com 3
<?
$port = fopen("COM3", "w+");
sleep(2);
if ($_REQUEST['turn']=="on") <------- บรรทัดนี้ คือ get ค่า turn == on มา
{
fwrite($port, "n");
}
if ($_REQUEST['turn']=="off")
{
fwrite($port, "f");
}
fclose($port);
?>
ทั้วหมดนี้ ถ้าต่อ Arduino USB port com3 จะทำงาานได้ปกติ ครับ
คืผมอยากให้ เวลาเราไม่ได้ต่อ Arduino กับ port com3 ให้มันขึ้นแจ้งว่า กรุณาเสียบ USB แทนการแจ้ง error ครับ
Date :
2020-05-30 18:31:07
By :
mungkorn
ผิดๆ
Code (PHP)
<?php
try{
$port = fopen("COM3", "w+");
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
ประวัติการแก้ไข 2020-05-30 18:49:08 2020-05-30 18:50:49
Date :
2020-05-30 18:46:48
By :
Chaidhanan
Code (PHP)
if ($port = fopen("COM3", "w+")) {
sleep(2);
if ($_REQUEST['turn'] == "on") {
fwrite($port, "n");
}
if ($_REQUEST['turn'] == "off") {
fwrite($port, "f");
}
fclose($port);
} else {
phpAlert("กรุณาเสียบ USB!");
die();
}
function phpAlert($msg)
{
echo '<script type="text/javascript">alert("' . $msg . '")</script>';
}
ประวัติการแก้ไข 2020-05-30 19:33:56
Date :
2020-05-30 19:33:13
By :
PhrayaDev
ขอบคุณทุกๆท่านนะครับ ที่กรุณาช่วยตอบคำถามครับ
Date :
2020-05-30 21:27:04
By :
mungkorn
Load balance : Server 02