首页 > 解决方案 > 致命错误:require_once() [function.require]:无法打开所需的“languages/Array.php”(include_path='.:/usr/share/pear/')

问题描述

我在这里发布链接:项目网站 http://www.stolarstvofatura.sk/

我登上了index page php标签的顶部

我检查了路径和一切.. 一切都好我不知道问题出在哪里

这是在索引页上 -

<?php
   include 'config.php';
?>

这是在配置页面上,它位于与索引相同的目录中

<?php  
session_start();

if (!isset($_SESSION['lang'])) {
    $_SESSION['lang'] = "sk";
} else if (isset($_GET['lang']) && $_SESSION['lang'] != 
$_GET['lang'] && !empty($_GET['lang']) ) {
    if ($_GET['lang'] == "sk") {
        $_SESSION['lang'] = "sk";
    } else if($_GET['lang'] == "en") {
        $_SESSION['lang'] = "en";
    }
}

require_once "languages/" . $_SESSION['lang'] . ".php";
?>

我预计没有错误

标签: php

解决方案


您可能可以简化用于选择语言的逻辑,只要您在每个页面的开头(如这里)开始会话,然后单击“关于我们”或任何不影响所选语言的内容。

<?php 

    /* config.php */
    session_start();


    $qvar='lang';
    $svar='language';

    $default='sk';
    $languages=array('en','sk','de'); # 3 language options


    if( !isset( $_SESSION[ $svar ] ) )$_SESSION[ $svar ]=$default;
    if( isset( $_GET[ $qvar ] ) && in_array( strtolower( $_GET[ $qvar ] ), $languages ) ) $_SESSION[ $svar ]=strtolower( $_GET[ $qvar ] );



    $languagefile = sprintf( '%s/languages/%s.php', $_SERVER['DOCUMENT_ROOT'], $_SESSION[ $svar ] );
    require realpath( $languagefile );

?>

推荐阅读