這是一個具有挑戰性的任務,因爲我想知道是否有任何方法可以在每次刷新我的php腳本時訪問我的下一行文本文件,而不會將最後一個計數存儲到數據庫或本地在一個文件中?每當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), "/");
}
?>
所以這個下降到你?想要存儲您從以前的腳本中刪除的哪一行。有幾個選項:
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>
是的,方法3對我來說確實有用,merdincz徹底地展示了它 –
是不是很奇怪,我必須加載不同的網址,但我不想每次改變我的網址然後呢? –
你打敗了我。由於提交者並未將客戶端存儲排除在外,因此將客戶端localStorage添加到答案中也不錯。 – user1235831
@ Mr.Z所以你應該專注於會話或cookie。如果您在關閉瀏覽器時選擇會話選項,您的計數器將會丟失,但是如果您選擇cookie,則只有當您清除cookie時,計數器纔會丟失。 – merdincz