每次 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>
这在某种程度上是一项具有挑战性的任务,因为我想知道是否有任何方法可以在每次刷新 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>