每次加载PHP脚本时显示下一行

时间:2016-04-17 19:26:33

标签: php php-5.3 file-handling

它在某种程度上是一项具有挑战性的任务,因为我想知道每次刷新我的php脚本时是否有任何方法可以访问我的下一行文本文件,而无需将最后一次计数存储到数据库或本地存储在文件中?

我知道这听起来很愚蠢,但我很好奇是否有任何方法仍然不是我所知道的。

2 个答案:

答案 0 :(得分:2)

您可以使用Session / cookie存储当前文件行。您也可以从您的请求中获取当前行。

例如,您的网址为:file.php?line = 1,每次刷新都需要将网页重定向到file.php?line = 2

<?php
$counter = "counter4";
if(!isset($_COOKIE[$counter])) {
    setcookie($counter, 1, time() + (86400 * 365), "/");
    echo "Current Line number: 1";
} else {
    $val = (int)$_COOKIE[$counter];
    //Increase line number;
    $val++;
    echo "Next Line number: " . $val;
    //make your file process


    //at the and set new line number
    setcookie($counter, $val, time() + (86400 * 365), "/");
}
?>

答案 1 :(得分:1)

因此,这可以归结为您要从前一个脚本存储哪一行的位置。有几个选择:

1-查询字符串,表示将其保存在网址中。例如:www.foo.com/index.php?line = 5

2-查询字符串然后更改URL。 与以前相同的选项,但是如果你不想在结尾处使用?line = 5,你可以使用一些改变URL外观的php函数。这是描述该过程的链接: How to change appearance of URL from within a PHP script

3-发布方法:这可能就是你要找的东西。提交表单时,可以使用&#34; post&#34;将信息发送到另一个php脚本。没有出现在网址中的方法,可以通过以下方式检索:

<?php
$lineNumber = $_POST['line'];
?>

我假设如果您使用此方法,您可能希望脚本自动执行此操作。一种方法是使用javascript:

<script>
    document.getElementById('dateForm').submit(); // SUBMIT FORM
</script>