我创建了一个用户输入数字的表单,然后使用fwrite将这些数据写入文本文件。
现在我的问题是,有没有办法在某种意义上阅读文件,但只有一个帖子..然后计算出已经发生了多少这样的文件,例如......
$data = sprintf("((%s,%s,%s))$s",
$_POST['shapeType'],
$_POST['circleRadius'],
$_POST['circleColour'],
PHP_EOL ); // automatically use the Operating System appropriate new line character sequence.
fwrite($handle, $data); }
fclose($handle);
?>
上面是fwrite,现在' shapeType'在这个特定的写作上是圆圈,有没有办法找到所有的shapeType帖子(其他形状像方形等..)因此产生一个
网站中存储了x个Shapes。
x显然取代了计算数量,任何想法?我对此非常新,所以完全不可能。
更新!! - 什么文本文件看起来像
((Circle,120,Red))((Triangle,190,120,90,Blue))
((圆,90,蓝色))((圆,20%,红色))
答案 0 :(得分:0)
您可以将文件的每一行读入一个数组,然后遍历该数组。在查看每一行时,只需检查它是否与“圆圈”或其他内容匹配,如果是,则增加一个计数器。
<?php
$shape_type = $_POST['shapeType'];
$shape_counter = 0;
$lines = file($file_name);
foreach ($lines AS $line) {
if (preg_match('/'.$shape_type.'/', $line)) {
$shape_counter++;
}
}
print "There are ".$shape_counter." amount of ".$shape_type."s stored within the site.";
编辑:
如果您只是想获得总行数,那就更容易了。就这样做:
<?php
$lines = file($file_name);
print "There are ".count($lines)." amount of shapes stored within the site.";