我有一个来自文件的数据,如下所示:
1234567890abcde1234567890
我想从这些数据中获取一些特定数据。所以我得到了值:“abcde”,数据位于11-15。在这里,我在php中使用fseek(),输出显示为:
资源ID#3
以下是输出如上所示的代码:
<?php
$fp = fopen('data/tes.txt', 'r');
// read some data
$data = fgets($fp, 25);
// move back to the beginning of the file
// same as rewind($fp);
fseek($fp, 11);
echo $fp;
?>
然而,我想把数据放在11-15位。请帮帮我。
答案 0 :(得分:0)
你很容易错误地回应资源而不是数据。
更改
fseek($fp, 11);
echo $fp;
到
echo fseek($fp, 11);
记得fseek成功后,返回0;否则,返回-1。如果要搜索数据,更好的解决方案是使用preg_match
<?php
$data = file_get_contents("data/tes.txt");
$matches = array();
preg_match("/[a-z]+/", $data, $matches);
print_r($matches);
?>
尝试上面的代码。如果要从特定位置剪切字符串,也可以使用substr()函数。
<?php
$data = file_get_contents("data/tes.txt");
echo substr($data, 11, 4);
?>