gpt4 book ai didi

php - 仅当 csv 行数更改时刷新页面

转载 作者:行者123 更新时间:2023-11-30 18:18:44 24 4
gpt4 key购买 nike

根据我所做的研究,我认为我可能必须使用 Ajax,但我并不真正熟悉它,而且我似乎无法为我的功能找到正确的答案。

我没有使用数据库(也许我应该使用,但我正在寻找短期修复)。我正在使用一个 csv 文件,用户的数据被输入到使用 PHP 中。

我的 php 正在遍历 csv 文件并显示一个包含内容的表格。它只是一列 Twitter 用户名。

<php?    
echo "<table>\n";
$file = file("Twitter.csv");
$file = array_reverse($file);
foreach($file as $f){
$string=$f;
$string=str_replace("\r\n","",$string);
echo "<tr>\n";
echo "<td><a href='http://twitter.com/".$string."' target='_blank'><img src='https://api.twitter.com/1/users/profile_image?screen_name=".$string."&size=bigger' border='0'></td>\n<td>\n<a href='https://twitter.com/".$string."' class='twitter-follow-button' data-show-count='false' data-lang='en' data-size='large'>Follow @".$string."</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');</script>";
echo "</td>\n</tr>\n";
}
echo "\n</table>";
?>

一旦用户授权 Twitter 应用程序并且我获得了他们的用户名,他们将被重定向到列出其他名称的页面。但是,我希望该页面在 csv 文件的行数更改时更新。

我需要能够每 x 秒运行一次脚本以获取行数以及它是否已更改为刷新。

我想逻辑很简单:

$linecount = count(file('Twitter.csv'));
every x seconds{
$checkcount = count(file('Twitter.csv'));
if ($checkcount != $linecount){
refresh page
}
}

我觉得逻辑是正确的 - 我只是没有受过足够的教育来弄清楚如何编写代码来工作。

如果文件没有更新,页面将不会刷新,但代码仍会每隔 x 秒执行一次,直到文件发生更改。

最佳答案

该解决方案可以通过几个步骤完成(未经测试):

  • 您的 PHP 脚本将 filemtime('Twitter.csv') 的当前值写入一个 JavaScript block :
echo '<script>var currentTS = ', (int)filemtime('Twitter.csv'), ';</script>';
  • 创建一个返回 Twitter.csv 修改时间的小 PHP 脚本:
echo json_encode(array('ts' => filemtime('Twitter.csv')));
  • 编写一个 JavaScript 函数,使用一些简单的 jQuery 通过 AJAX 获取时间戳:
function myFunction() {
$.ajax({
url: '/path/to/check_mod_time.php',
timeout: 2000, // don't wait too long
success: function(data) {
if (currentTS < data.ts) {
location.reload();
}
});
}
  • 使用 setInterval() 让您的函数每 X 秒调用一次:
setInterval(myFunction, 5000) // run every 5 seconds

关于php - 仅当 csv 行数更改时刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12641923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com