从文本文件中读取并将其放入数组中,每12小时显示一行

时间:2014-11-03 15:10:03

标签: php arrays text

所以我有一个网站,我想在文本文件中显示一个单词。 我已经完成了脚本应该从中读取的文本文件,但它显示了整个文本文件:S

<?

$filename = "arraytext.txt";
$arr = file($filename);
foreach($arr as $line){
    print $line . "<br />";
}

?>

`

它一次显示整个文本文件。我只是希望它显示1行,这是第一个单词。 我做错了什么?

2 个答案:

答案 0 :(得分:0)

要逐行读取文件,必须使用fgets()函数
这是一个例子:

$file = fopen("test.txt","r");

while(! feof($file))
  {
  echo fgets($file). "<br />";
  }

fclose($file);

答案 1 :(得分:0)

<?
  $filename = "arraytext.txt";
  $f = fopen($filename, 'r');
  echo fgets($f);
  fclose($f);
?>

要每12小时运行一次,请将此行添加到&#34; / etc / crontab&#34;文件(例如):

00 11,23 * * * root php path-to-your-script/name-of-your-script.php

更新:在您发表评论后,我想我更了解您的问题(抱歉) 忘掉&#34; crontab&#34;东西...
只是做:

<?
  $filename = "arraytext.txt";
  $arr = file($filename);
  foreach ($arr as $line) {
    print $line . "<br />";
    sleep(60 * 60 * 12); // (60 * 60) * 12 seconds sums up to 12 hours
  }
?>

但请注意,php运行在&#34; web&#34;模式(与#34; cli&#34;模式相反)具有严格的执行时间限制(参见http://php.net/manual/en/function.set-time-limit.php)。
我想你是在网络界面上使用它,因为在你的问题中你使用html标签<br /> ......

注意:抱歉,为什么你想每12小时写一行吗??? : - )