在PHP中,是否有相当于手动按下F5页面重新加载按钮的功能?我的PHP脚本在框架中并不是父脚本,但需要刷新整个页面而不仅仅是刷新其框架。
实际上这是可能的:
Header('Location: '.$_SERVER['PHP_SELF']);
Exit(); //optional
它会重新加载相同的页面。
使用PHP,您可以处理服务器端的任务。您可以在iframe中打印以下内容:
parent.window.location.reload();
parent.window.location.reload()
将重新加载当前页面,无论它是什么。你必须检查 parent.window.location.href
的源代码 =) - gustavotkg` 标签前有任何文本,则该文本将被视为其前面的空格。
header('Location: http://www.example.com/youformhere.php');
如果您先发送其他文本,那么您将遇到问题。
请改用以下代码:
<?php
$page = $_SERVER['PHP_SELF'];
echo '<meta http-equiv="Refresh" content="0;' . $page . '">';
?>
请记住,此代码将创建一个无限循环,因此您可能需要对其进行一些条件更改。
PHP无法强制客户端执行任何操作。它不能刷新页面,更不能刷新框架的父级。
编辑:当然,你可以让PHP编写JavaScript代码,但这不是PHP在执行,实际上是JavaScript在执行,并且如果禁用了JavaScript,它将失败。
<?php
echo '<script>parent.window.location.reload(true);</script>';
?>
<?php
echo "<script>window.opener.location.reload();</script>";
echo "<script>window.close();</script>";
?>
使用PHP,您可以使用两种重定向方式。在某些问题上,它的工作方式与刷新相同。
您可以使用一个页面redirect.php,并通过GET方法将您的最后一个URL发送到它(例如)。 然后,在redirect.php中,您可以将标题更改为您通过GET方法发送给它的位置。
像这样: 您的页面:
<?php
header("location:redirec.php?ref=".$your_url);
?>
redirect.php:
<?php
$ref_url=$_GET["ref"];
header("location:redirec.php?ref=".$ref_url);
?>
那对我很有帮助。
要手动刷新页面,您只需要提供指向同一页面的链接即可。
像这样: 刷新选择
使用JavaScript来完成。您可以这样做:
echo '
<script type="text/javascript">
parent.window.location.reload(true);
</script>
';
你可以使用 meta 标签来定期刷新,例如:
<meta http-equiv="refresh" content="600" url="your-url-here">
在页面头部添加以下内容对我有效:
<?php
if($i_wanna_reload_the_full_page_on_top == "yes")
{
$reloadneeded = "1";
}
else
{
$reloadneeded = "0";
}
if($reloadneeded > 0)
{
?>
<script type="text/javascript">
top.window.location='indexframes.php';
</script>
<?php
}else{}
?>