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

Display next line each time PHP script loads

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

我知道这听起来很愚蠢,但我很好奇是否还有什么方法是我所不知道的。

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

例如,您的 url 将是: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- Query String,表示保存在url中。例如:www.foo.com/index.php?line=5

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

3- Post 方法:这可能就是您要找的。提交表单时,可以使用未出现在 URL 中的 "post" 方法将信息发送到另一个 php 脚本,并且可以使用类似以下内容的方式检索:

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

我假设如果您使用这种方法,您会希望脚本自动执行。一种方法是使用 javascript:

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