php出口在函数中做什么?
嗨,我有这个功能php出口在函数中做什么?,php,Php,嗨,我有这个功能 function fail($pub, $pvt = '') { global $debug; $msg = $pub; if ($debug && $pvt !== '') $msg .= ": $pvt"; $_SESSION['msg'] = $msg; header ("Location: /voting/"); exit; } 页面在到达exit命令之前应该重定向,对吗?但是,如果没
function fail($pub, $pvt = '')
{
global $debug;
$msg = $pub;
if ($debug && $pvt !== '')
$msg .= ": $pvt";
$_SESSION['msg'] = $msg;
header ("Location: /voting/");
exit;
}
页面在到达exit命令之前应该重定向,对吗?但是,如果没有exit命令,该函数将无法正常工作(即使它本应重定向,它仍将继续)。如果有人知道,您能解释一下,如果函数没有退出,即使在这两种情况下都会重定向,代码为什么会继续运行吗?在脚本结束后收到整个响应之前,浏览器不会重定向,并且当浏览器重定向时,PHP脚本肯定不会停止,因此,在浏览器应该重定向时结束脚本是最好的做法。是的,但是退出至关重要 由于页面的其余部分可能会被强制显示,如果有人只是选择忽略来自该文件的头响应,那么该出口只会确保后面没有其他内容,否则.php仍将处理页面的其余部分,并输出后面的内容
退出;是die()的别名,用于终止脚本的执行。header函数将向最终输出添加一个头,该输出将发送到浏览器,因此重定向实际上发生在客户端。这就是为什么您可以在“重定向”之前继续执行代码。“退出”构造(不是函数)就是为了避免这种情况 从:
终止脚本的执行。即使调用exit,也将始终执行。 exit是一种语言构造,如果未传递状态,则可以不使用括号调用它
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or exit("unable to open file ($filename)");
当您删除退出时,屏幕上是否显示警告或任何内容?离开时?如果要停止脚本和/或重定向页面,则始终需要exit()。在使用header函数之后,最好使用exit或die终止其余部分。
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or exit("unable to open file ($filename)");