本文目錄一覽:
- 1、php的dio_read如何做到,讀到換行符呢?如\n
- 2、PHP如何讀出當前目錄下所有文件?
- 3、php可以對硬體操作嗎
- 4、php如何動態讀取一個文件內容?
- 5、PHP中read()和get()的區別
- 6、php如何利用串口連接電路板
php的dio_read如何做到,讀到換行符呢?如\n
如果是輸出給瀏覽器,就用br/
如果是輸出到自己的文件里,就用”\n”,windows下是”\r\n”
\n的作用是給源代碼換行,輸入後,查看html源代碼,就看會到有換行,而瀏覽器認為它是沒用的東西,用不用都一樣顯示。
PHP如何讀出當前目錄下所有文件?
一般來說php中讀取目錄下的文件名的方式確實不少,最簡單的是scandir,具體代碼如下:\x0d\x0a複製代碼 代碼如下:$dir=”./caxa/”;\x0d\x0a$file=scandir($dir);\x0d\x0aprint_r($file);\x0d\x0a稍微複雜點的,來自於php手冊:\x0d\x0a複製代碼 代碼如下:$dir = “/etc/php5/”;\x0d\x0a// Open a known directory, and proceed to read its contents\x0d\x0aif (is_dir($dir)) {\x0d\x0aif ($dh = opendir($dir)) {\x0d\x0awhile (($file = readdir($dh)) !== false) {\x0d\x0aecho “filename: $file : filetype: ” . filetype($dir . $file) . “\n”;\x0d\x0a} closedir($dh);\x0d\x0a}\x0d\x0a}\x0d\x0a這些都只能讀取當前指定目錄下的文件,對子目錄中的文件則無法讀取。原來自己寫過一個循環刪除所有目錄的一段代碼,需要逐個子目錄刪除所有文件,包括多層。但是只需要讀出文件名,稍微複雜點,網上找到一個能用,原始代碼有錯誤提示,改了一下引用$data的地方,如下所示:\x0d\x0a複製代碼 代碼如下:function searchDir($path,$data){\x0d\x0aif(is_dir($path)){\x0d\x0a$dp=dir($path);\x0d\x0awhile($file=$dp-read()){\x0d\x0aif($file!=’.’ $file!=’..’){\x0d\x0asearchDir($path.’/’.$file,$data);\x0d\x0a}\x0d\x0a}\x0d\x0a$dp-close();\x0d\x0a}\x0d\x0aif(is_file($path)){\x0d\x0a$data[]=$path;\x0d\x0a}\x0d\x0a}\x0d\x0afunction getDir($dir){\x0d\x0a$data=array();\x0d\x0asearchDir($dir,$data);\x0d\x0areturn $data;\x0d\x0a}\x0d\x0aprint_r(getDir(‘.’));\x0d\x0a希望本文所述對大家的PHP程序設計有所幫助。
php可以對硬體操作嗎
完全可以的,php可以操作串口rs232的。
例子如下:
?php
// ————————————————————————–
// File name : RS232_Server.php
// Description : RS232演示上位機程序
// Requirement : PHP 5.1.4 (cli) ()
//
// Copyright(C), HonestQiao, 2006, All Rights Reserved.
//
// Author: HonestQiao (honestqiao@hotmail.com/QQ:5601680)
//
// 程序簡介:
// 本程序與RS232_Client構成一個完整的演示系統,展示了PHP在RS232串口通訊上的應用。
// 程序之中實現了一個基礎但是完整的RS232通訊協議(HQB232),通訊協議格式如下:
// 協議內容:
// C-S 01 //請求通訊
// S-C 02 //響應通訊
// C-S LEN DATA //LEN表示數據(DATA)長度 DATA表示實際數據
// C-S 03 //結束通訊
// 說明:S表示上位機 C表示下位機
// HQB232表示HonestQiao演示的基礎(Base)RS232通訊協議,包含了協議的
// 請求和響應,數據幀的結構。
// 演示過程為通訊的請求和響應,十次數據幀的發送, 通訊的結束
// 數據幀的結構為當前的序號,microtime(),隨機字元串
//
// 歡迎探討PHP在RS232串口通訊上的應用。
// ————————————————————————–
set_time_limit(0);
exec(‘mode COM1: baud=115200 data=8 stop=1 parity=n xon=on’);
$fd = dio_open(‘COM1:’, O_RDWR);
if(!$fd)
{
die(“Error when open COM1”);
}
$ff = dio_stat($fd);print_r($ff);
echo “HQB232 SERVER is listenning on COM1\n”;
/// read
$len = 2;
$t=0;while (($t++)1000)
{
$data = dio_read($fd, $len);
if ($data) {
if($data==chr(0).chr(1)){
echo “S_RECV:01\n”;
echo “S_SEND:02\n”;
dio_write($fd,chr(0).chr(2));
break;
}
}
}
/// read
$len = 2;
$t=0;while (($t++)1000)
{
$len = 2;
$data = dio_read($fd, $len);
if($data==chr(0).chr(3)){
echo “S_RECV:03\n”;
break;
}
elseif ($data) {
$len = intval($data);
$data = dio_read($fd, $len);
if($data){
echo “S_RECV:($len)$data\n”;
}
}
}
dio_close($fd);
?
php如何動態讀取一個文件內容?
你想無刷新顯示內容就用 ajax 實現吧,後台只負責返回這個文件的內容,前台一直不停的發送請求:
// Javascript
setInterval(function () {
$.ajax(
{
url : url, // 請求地址
type : type, // 請求方式
dataType : ‘JSON’, // 返回數據的格式
success : function (response) {
console.log(response); // 最終數據
},
error : function () {
console.log(‘Request Fail’);
}
}
);
}, 1000);
// php
$filename = ‘data.txt’;
$f = fopen($filename);
$content = fread($f, filesize($filename));
fclose($f);
echo $content; // 具體數據格式參照前台獲取方式
PHP中read()和get()的區別
在PHP中,沒有這樣子的函數
只聽說過,PHP
zip_read()
函數。post是陰性傳輸,get是顯性傳輸,會在瀏覽器上顯示參數。
php如何利用串口連接電路板
php在部分應用偶爾和串口直接通信,需要和rs232、rs485介面上的數據進行通信。
php與串口通信,基本有兩種途徑,通過php擴展dio,下載dio擴展:http://在php.ini打開dio擴展。
dio開啟後可以通過dio_opendio_read等函數進行通信。
但dio默認只是在linux下的,好像pecl也有編譯後的php_dio.dll,但我在win下測試其實無法正常使用,可能是我php版本太高,dio擴展如果能打開,網上自然有很多實例。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128184.html