Php 如果找不到文件则刷新页面

Php refresh page if file not found

我的代码有效。如果附加值不存在,它会更改 lang 值。但是,它需要刷新才能进行更改。

if(isset($_GET['lang']) && file_exists('lang/'. $_SESSION['lang'] . '.php')) {
    $_SESSION['lang'] = $_GET['lang'];
} else {
    $_SESSION['lang'] = 'en'; // default value
}
if(!isset($_SESSION['lang'])) {
    $_SESSION['lang'] = 'en'; // default value
}
include('lang/'. $_SESSION['lang'] . '.php');

使用上面的代码,如果其他语言不存在,它确实会将 lang 改回 en,但是,它显示错误文件不存在,然后刷新页面后工作正常。 有没有办法在 lang 设置回 en 后立即重定向或刷新页面?

看来你的逻辑有问题。

if(isset($_GET['lang']) && file_exists('lang/'. $_GET['lang'] . '.php'))

您发布的第一个 if 语句检查 SESSION['lang'] 文件是否存在。它似乎应该检查 GET['lang'] 文件是否存在。

您可以使用页眉功能移动页面。

header("Location: http://yoursite.com/yourpage.php");

您还可以限制错误报告,使其不显示文件不存在的错误。

error_reporting(0);