页面加载后运行php脚本

时间:2011-06-24 10:39:20

标签: php wordpress

每次用户访问wordpress单帖页面时,都会执行脚本update_comments.php。它的工作方式应该如此,但在脚本执行完毕之前,用户不会看到wordpress帖子或其他任何内容。我只想在没有用户注意到任何事情的情况下启动脚本。 update_comments.php中启用了 ignore_user_abort(true)

<?php
global $post;
$theid= $post->ID;
$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
preg_match('/http(.*):\/\/(.*)\/(.*)/',
    $url, $matches4);
    $url = trim($matches4[2]);
preg_match('/(.*)\/(.*)/',
    $url, $matches5);
    $url = trim($matches5[1]);
$url = 'http://'.$url.'/update_comments.php?theid='.$theid;
$myresult = file_get_contents($url);
?>

1 个答案:

答案 0 :(得分:1)

一种方法是使用javascript回调:

<script src="jsCommentsCallback.php?id=<?php echo $post->ID; ?>" type="text/javascript" defer="defer" />

在页面底部加载javascript,并使用jsCommentsCallback.php将php文件(即$url)点击$_GET['id']。如果您需要对update_comments.php的内容执行某些操作,可以将其打包为JSON并将其发送回浏览器以插入页面或其他任何内容。