phpdioread的简单介绍

发布时间:2022-11-24

本文目录一览:

  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,具体代码如下:

$dir = "./caxa/";
$file = scandir($dir);
print_r($file);

稍微复杂点的,来自于PHP手册:

$dir = "/etc/php5/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}

这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用$data的地方,如下所示:

function searchDir($path, &$data){
    if(is_dir($path)){
        $dp = dir($path);
        while($file = $dp->read()){
            if($file != '.' && $file != '..'){
                searchDir($path.'/'.$file, $data);
            }
        }
        $dp->close();
    }
    if(is_file($path)){
        $data[] = $path;
    }
}
function getDir($dir){
    $data = array();
    searchDir($dir, $data);
    return $data;
}
print_r(getDir('.'));

希望本文所述对大家的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, 'r');
$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,但我在Windows下测试其实无法正常使用,可能是我PHP版本太高,dio扩展如果能打开,网上自然有很多实例。