PHP每天更新文本

时间:2016-02-06 16:06:32

标签: php html html5

我正在尝试将PHP代码添加到我的网站,所以每周网站上的文字都会从存储的文件中更新,例如quotes.txt我有一个人代码给我的PHP代码,但我需要一些帮助我&# 39;我不明白我将如何做html并将其放在我的网站上这里是代码。

$text = file("quotes.txt");       

$search = array ("\r\n", "\r");
$text = str_replace($search, "\n", $text);

$array = explode("\n", $text);

$line = date("z");

echo $array[$line];

请帮忙!

2 个答案:

答案 0 :(得分:0)

首先,如果托管服务提供商允许cron-tab jos,即每隔x次自动运行一个脚本,首先需要检查。如果它确实那么你就是一半。否则,运行该脚本的唯一方法就是自己启动它,也许这不是主意!

答案 1 :(得分:0)

你现在的问题是非常广泛的,我会问很多问题,例如quotes.txt中是否有HTML或者它只是内容?

您似乎暗示的是,您根据日期公式显示的行列表中有一行?那么Quotes.txt每天有52行文本,然后随机选择行号?

我想一次一个地回答你的问题。

$text = file("quotes.txt");       

这里使用file_get_contents会更好,因为这就是您所需要的,内容不是元数据或归档数据。

$search = array ("\r\n", "\r");
$text = str_replace($search, "\n", $text);
$array = explode("\n", $text);

这一部分具有误导性,因为行结尾的半标准化(\n)在explode语句中被浪费了。我会使用PHP_EOL并忽略字符串替换。

$line = date("z");

z是一年中的某一天,但您的问题是几周,WISO-8601 week number(0到52)。

echo $array[$line];

这个回声应该是输出到浏览器的部分,但这只是输出内容而不是将其包装在有效的HTML中,你必须以自己的方式做到这一点,基本上你只是将数据转储到浏览器没有标签,或者超出数组中该行内容的任何内容。

所以改写:

$text = file_get_contents("quotes.txt");  
$text = trim($text); //This removes blank lines so that your 
//explode doesn't get any empty values at the start or the end.     
$array = explode(PHP_EOL, $text);
$lineNumber = date('W');

这将输出数组行号中的数据。你可以用粗略的HTML包装它:

    print "<!DOCTYPE html>
            <html lang="en">
                    <head>
                     <title>My Page!</title>
                   </head>
           <body>
                <p>";
    echo $array[$lineNumber];
print "</p>
          </body>
     </html>";

如果您已经有一个标准的HTML页面,那么您想要将数据插入其中,那么您可以简单地printecho完成上面已经完成的值。您可能需要添加<?php ... ?>等标记(以打开和关闭PHP部分),如果它是.php文件,您还需要将页面保存为.html