Home  >  Article  >  Backend Development  >  怎样用PHP读取TXT文件第一行的两个字符进行数学运算并输出呢

怎样用PHP读取TXT文件第一行的两个字符进行数学运算并输出呢

WBOY
WBOYOriginal
2016-06-20 12:25:35909browse

假如TXT文件第一行的16进制数据为:AA C0 ED 00 8A 01 BA 09 3B AB 

怎样用PHP读取第三个字符ED和第四个字符00 

并将它们转换成十进制并进行数学运算

运算公式为:(OO*256+ED)/10 

将运算结果显示在页面上


回复讨论(解决方案)

//假定数据以读取到变量 $s$s = 'AA C0 ED 00 8A 01 BA 09 3B AB';$a = explode(' ', $s);echo (hexdec($a[3]) * 256 + hexdec($a[2])) / 10;
23.7

怎样让它一直读取第一行的数据呢

不知道你在说什么

因为这个txt文件每秒会增加一行,所以我想让他循环读取第一行的数据

$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgets($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}

按行读取 另外,获取指定位置的字符 可以用 strpos

不好意思 弄错了 应该用 substr

<?php$file = 'abc.txt';$content = file_get_contents($file);$data1 = hexdec(ord(substr($content,3,1)));$data2 = hexdec(ord(substr($content,4,1)));echo (($data2*256)+$data1)/10;?>

因为这个txt文件每秒会增加一行,所以我想让他循环读取第一行的数据



每秒增加一行,第一行的数据也不会变吧。

txt一直增加,是不是想要读取最后一行

看错了 txt文件每秒会增加一行是在最底行增加的 那么怎样实现读取最后一行的数据,并且每隔5秒执行一次读取呢 因为要再页面上显示动态的效果

只读最后一行:$txt = array_pop(file('文件名'));

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn