出于安全性考慮,,,javascript不能操作本地設(shè)備的,,,如果需要讀取串口中輸入的數(shù)據(jù),,,用PHP代碼來試試。。。。。

創(chuàng)新互聯(lián)建站主營海城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),海城h5小程序設(shè)計(jì)搭建,海城網(wǎng)站營銷推廣歡迎海城等地區(qū)企業(yè)咨詢
假設(shè)這個(gè)頁面有一個(gè)功能需要操作并返回某字符串,還用一下代碼可以實(shí)現(xiàn)執(zhí)行并讀取返回值。
$fp = fopen("","r");
$ret= fgetss($fp,255);
echo $ret."br";
fclose($fp);
PHP 文件打開/讀取/讀取
PHP 文件
PHP 文件創(chuàng)建/寫入
在本節(jié)中,我們向您講解如何在服務(wù)器上打開、讀取以及關(guān)閉文件。
PHP Open File - fopen()
打開文件的更好的方法是通過 fopen() 函數(shù)。此函數(shù)為您提供比 readfile() 函數(shù)更多的選項(xiàng)。
在課程中,我們將使用文本文件 "webdictionary.txt":
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language
fopen() 的第一個(gè)參數(shù)包含被打開的文件名,第二個(gè)參數(shù)規(guī)定打開文件的模式。如果 fopen() 函數(shù)未能打開指定的文件,下面的例子會生成一段消息:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");echo fread($myfile,filesize("webdictionary.txt"));fclose($myfile);
?
運(yùn)行實(shí)例
提示:我們接下來將學(xué)習(xí) fread() 以及 fclose() 函數(shù)。
文件會以如下模式之一打開:
模式描述
r打開文件為只讀。文件指針在文件的開頭開始。
w打開文件為只寫。刪除文件的內(nèi)容或創(chuàng)建一個(gè)新的文件,如果它不存在。文件指針在文件的開頭開始。
a打開文件為只寫。文件中的現(xiàn)有數(shù)據(jù)會被保留。文件指針在文件結(jié)尾開始。創(chuàng)建新的文件,如果文件不存在。
x創(chuàng)建新文件為只寫。返回 FALSE 和錯(cuò)誤,如果文件已存在。
r+打開文件為讀/寫、文件指針在文件開頭開始。
w+打開文件為讀/寫。刪除文件內(nèi)容或創(chuàng)建新文件,如果它不存在。文件指針在文件開頭開始。
a+打開文件為讀/寫。文件中已有的數(shù)據(jù)會被保留。文件指針在文件結(jié)尾開始。創(chuàng)建新文件,如果它不存在。
x+創(chuàng)建新文件為讀/寫。返回 FALSE 和錯(cuò)誤,如果文件已存在。
PHP 讀取文件 - fread()
fread() 函數(shù)讀取打開的文件。
fread() 的第一個(gè)參數(shù)包含待讀取文件的文件名,第二個(gè)參數(shù)規(guī)定待讀取的最大字節(jié)數(shù)。
如下 PHP 代碼把 "webdictionary.txt" 文件讀至結(jié)尾:
fread($myfile,filesize("webdictionary.txt"));PHP 關(guān)閉文件 - fclose()
fclose() 函數(shù)用于關(guān)閉打開的文件。
注釋:用完文件后把它們?nèi)筷P(guān)閉是一個(gè)良好的編程習(xí)慣。您并不想打開的文件占用您的服務(wù)器資源。
fclose() 需要待關(guān)閉文件的名稱(或者存有文件名的變量):
?php
$myfile = fopen("webdictionary.txt", "r");// some code to be executed....
fclose($myfile);
?
PHP 讀取單行文件 - fgets()
fgets() 函數(shù)用于從文件讀取單行。
下例輸出 "webdictionary.txt" 文件的首行:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");echo fgets($myfile);
fclose($myfile);
?
運(yùn)行實(shí)例
注釋:調(diào)用 fgets() 函數(shù)之后,文件指針會移動到下一行。
PHP 檢查 End-Of-File - feof()
feof() 函數(shù)檢查是否已到達(dá) "end-of-file" (EOF)。
feof() 對于遍歷未知長度的數(shù)據(jù)很有用。
下例逐行讀取 "webdictionary.txt" 文件,直到 end-of-file:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");// 輸出單行直到 end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "br";
}
fclose($myfile);
?
運(yùn)行實(shí)例
PHP 讀取單字符 - fgetc()
fgetc() 函數(shù)用于從文件中讀取單個(gè)字符。
下例逐字符讀取 "webdictionary.txt" 文件,直到 end-of-file:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");// 輸出單字符直到 end-of-file
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?
運(yùn)行實(shí)例
注釋:在調(diào)用 fgetc() 函數(shù)之后,文件指針會移動到下一個(gè)字符。
PHP Filesystem 參考手冊
如需完整的 PHP 文件系統(tǒng)參考手冊,請?jiān)L問 W3School 提供的 PHP Filesystem 參考手冊。
1.通過php擴(kuò)展dio。
下載dio擴(kuò)展:
在php.ini打開dio擴(kuò)展。
dio開啟后可以通過dio_open dio_read等函數(shù)進(jìn)行通信。但dio默認(rèn)只是在Linux下的,好像pecl也有編譯后的php_dio.dll,但我在win下測試其實(shí)無法正常使用,可能是我php版本太高(5.3.3)。
dio擴(kuò)展如果能打開,網(wǎng)上自然有很多實(shí)例
?php
$c = stream_context_create(array('dio' =
array(‘data_rate’ = 115200,
‘data_bits’ = 8,
‘stop_bits’ = 1,
‘parity’ = 0,
‘is_canonical’ = 1)));
if (PATH_SEPARATOR != “;”) {
$filename = “dio.serial:///dev/ttyS0″;
} else {
$filename = “dio.serial://COM1″;
}
?
2.PHP_SER擴(kuò)展
這是一個(gè)第三方擴(kuò)展,可以在php5.3.3上正常使用,我測試結(jié)果是比較穩(wěn)定,提供了單字節(jié)流通信和異步通信。對于單字節(jié)流通信我還專門請教了作者,發(fā)現(xiàn)原來可以通過loop讀取數(shù)據(jù)流的。需要注意的是ser_write()的數(shù)據(jù)是字符型,但是ser_read()的數(shù)據(jù)則是10進(jìn)制。所以發(fā)送的時(shí)候最好轉(zhuǎn)換為hex,接收后由十進(jìn)制再轉(zhuǎn)為十六進(jìn)制才能正常使用。
還有就是php_ser作為第三方擴(kuò)展,作者是收費(fèi)的。免費(fèi)版本沒有功能限制,只是每次收發(fā)字節(jié)數(shù)不能超過1024字節(jié)。
function x_get_cgqbh() {
$str = ‘a(chǎn)t+ver?’;
$str = hexToStr($str);
ser_open( “COM1″, 9600, 8, “None”, “1″, “None” );
if (ser_isopen()) {
return “opened, post data ……”;
}else{
return false;
}
ser_write(“$str”);
sleep(1);
$str = ser_read();
ser_close();
return $str;
}
本文名稱:php獲取串口數(shù)據(jù)為r php獲取接口數(shù)據(jù)
轉(zhuǎn)載來于:http://chinadenli.net/article38/dodjpsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、服務(wù)器托管、域名注冊、、小程序開發(fā)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)