Code前端首页关于Code前端联系我们

phpdioread的简单介绍

terry 2年前 (2023-09-30) 阅读数 28 #PHP
文章标签 in_array()

本文目录一览:

  • 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扩展如果能打开,网上自然有很多实例。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门