为什么我不能包含一个 php 文件

问题描述 投票:0回答:0

我想在 php 文件中使用 require_once 函数,但每当我这样做时,它都会产生致命错误并停止脚本。我有一个模块文件夹,其中有 4 个文件夹,分别是页面、脚本、数据库和上传。在页面文件夹中,我有一个文件 (home.php),我想在其中包含另一个文件,另一个文件 (connection.php) 在脚本文件夹中。 我在 home.php 中写了这个:

<?php
    require_once('../scripts/connection.php');
?>
<section class="p-5">
    <div class="container-lg shadow">
        <?php
                    if(ISSET($_SESSION['success'])){
                ?>
        <div class="alert alert-success">
            <?php echo $_SESSION['success']; header("refresh: 2");?>
        </div>
            <?php
                        unset($_SESSION['success']);
                    }
            ?>
        <div class="row row-cols-1 row-cols-md-3 g-4">
            <div class="col">
                <?php foreach($postSnkr as $rows => $postSnkr) { ?>
                <div class="card">
                    <?php echo("<img src='uploads/".$postSnkr['slika']."'>");?>
                    <div class="card-body">
                        <h5 class="card-title"><?php echo($postSnkr['model'])?></h5>
                        <h6 class="card-subtitle mb-2 text-muted"><?php echo($postSnkr['barva'])?></h6>
                        <ul class="list-group list-group-flush">
                            <li class="list-group-item">Releas date: <?php echo($postSnkr['datum_izdaje']);?>
                            </li>
                            <li class="list-group-item">Size: <?php echo($postSnkr['velikost']);?></li>
                            <li class="list-group-item">Price: <?php echo($postSnkr['cena']);?></li>
                        </ul>
                        <a href="checkout.php" class="btn btn-primary" value="">Buy</a>
                    </div>
                </div>
                <?php } ?>
            </div>
        </div>
    </div>

</section>

在connection.php中:

<?php
        
        if(!is_file('db/sneaker_haven.sqlite3')){
            file_put_contents('db/sneaker_haven.sqlite3', null);
        }

        $conn = new PDO('sqlite:db/sneaker_haven.sqlite3');

        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>

在 index.php 中:

<body>
    <div class="container-fluid">
        <div class="wave"></div>
        <div class="wave"></div>
        <div class="wave"></div>
        <?php
            require_once("modules/pages/header.php");     
        ?>
        <br>
        <div class="container my-5">
                <?php
                    if(isset($_GET['page'])){
                        switch ($_GET['page']) {
                            case "login":
                                require_once("modules/pages/login.php");
                                break;
                            case "reg":
                                require_once("modules/pages/register.php");
                                break;
                            case "create_post":
                                require_once("modules/pages/create_post.php");
                                break;
                            case "profile":
                                require_once("modules/pages/profile.php");
                                break;
                            case "home":
                                require_once("modules/pages/home.php");
                                break;
                            default:
                                # code...
                                break;
                        }
                    }
                    if(isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true){
                        require_once("modules/pages/home.php");
                    }elseif(isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == false){
                        require_once("modules/pages/login.php");
                    }
                ?>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
</body>

我尝试在 home.php 中使用 require_once 函数,但它不起作用它停止了脚本错误消息:关闭而不发送请求;它可能只是一个未使用的推测性预连接

胎儿错误:

require_once(../../modules/scripts/connection.php): Failed to open stream: No such file or directory in /home/gogi/Desktop/sc/Online-sneaker--Marketplace/modules/pages/home.php on line 2

[2023 年 2 月 23 日星期四 19:37:46] PHP 致命错误:未捕获错误:需要打开失败 '../../modules/scripts/connection.php' (include_path='.:/usr/share/php' ) 在 /home/gogi/Desktop/sc/Online-sneaker--Marketplace/modules/pages/home.php:2 堆栈跟踪: #0 /home/gogi/Desktop/sc/Online-sneaker--Marketplace/index.php(48): require_once() #1 {主要} 扔在 /home/gogi/Desktop/sc/Online-sneaker--Marketplace/modules/pages/home.php 第 2 行 [2023 年 2 月 23 日星期四 19:37:46] 127.0.0.1:59784 [500]:GET /index.php - 未捕获错误:需要打开失败 '../../modules/scripts/connection.php' (include_path= '.:/usr/share/php') 在 /home/gogi/Desktop/sc/Online-sneaker--Marketplace/modules/pages/home.php:2 堆栈跟踪: #0 /home/gogi/Desktop/sc/Online-sneaker--Marketplace/index.php(48): require_once() #1 {主要} 扔在 /home/gogi/Desktop/sc/Online-sneaker--Marketplace/modules/pages/home.php 第 2 行

php sqlite pdo
© www.soinside.com 2019 - 2024. All rights reserved.