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

问题描述:

这是一个具有挑战性的任务,因为我想知道是否有任何方法可以在每次刷新我的php脚本时访问我的下一行文本文件,而不会将最后一个计数存储到数据库或本地在一个文件中?每当PHP脚本加载时显示下一行

我知道这听起来很愚蠢,但我只是好奇,如果有什么方法仍然不是我所知道的。

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

例如,您的网址是:file.php线= 1,每刷新你重定向你的网页file.php线= 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), "/"); 
} 
?> 
+0

是不是很奇怪,我必须加载不同的网址,但我不想每次改变我的网址然后呢? –

+0

你打败了我。由于提交者并未将客户端存储排除在外,因此将客户端localStorage添加到答案中也不错。 – user1235831

+1

@ Mr.Z所以你应该专注于会话或cookie。如果您在关闭浏览器时选择会话选项,您的计数器将会丢失,但是如果您选择cookie,则只有当您清除cookie时,计数器才会丢失。 – merdincz

所以这个下降到你?想要存储您从以前的脚本中删除的哪一行。有几个选项:

1-查询字符串,这意味着将其保存在url中。例如:www.foo.com/index.php?line=5

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

3-发布方法:这可能是您正在查找的内容。当提交表单时,可以将信息发送给使用不出现在URL中的“POST”方法的另一个PHP脚本,并能与像检索:

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

我认为如果你使用这个方法,你会希望脚本自动执行。一种方法,你可以做到这一点与javascript:

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

是的,方法3对我来说确实有用,merdincz彻底地展示了它 –