它在某种程度上是一项具有挑战性的任务,因为我想知道每次刷新我的php脚本时是否有任何方法可以访问我的下一行文本文件,而无需将最后一次计数存储到数据库或本地存储在文件中?
我知道这听起来很愚蠢,但我很好奇是否有任何方法仍然不是我所知道的。
答案 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>