为什么include('../ myscript.php')导致错误?

用户名

我一直在尝试调试我的PHP脚本,并将问题缩小到一行

include "../classes.php";

在我文件的顶部team_manager.php,您可以在下面看到它。

themes
    my_theme
        js
        management
             team_manager.php
             project_manager.php
        classes.php
        footer.php
        functions.php

我的路径不正确吗?还是内容可能有问题classes.php如果包含的文件可能有问题,则下面是文件,让我知道是否有什么立即被发现是错误的。

<?php

final class MySqlInfo
{
    const DBNAME = 'somedb';
    const USER = 'someuser';
    const PSSWD = 'somepassword';
    const TEAMTABLENAME = 'sometablename';

    public function getUser ( )
    {
        return self::USER;
    }

    public function getPassword ( ) 
    {
        return self::PSSWD; 
    }
}

final class MethodResult
{

    public $succeeded; 
    public $message; 

    public MethodResult ( $succeededInit = NULL, $messageInit = NULL )
    {
            this->$succeeded = $succeededInit;
            this->$message = $messageInit;
    }   

}

final class MySite 
{

    const ROOTURL = 'http://asite.com/subsite';

    function getRootUrl()
    {
        return self::ROOTURL;
    }


}

final class TeamManager
{

    private $dbcon;

    public function TeamManager ( )
    {
        $dbcon = mysqli_connect('localhost', MySqlInfo.getUser(), MySqlInfo::getPassword());
        $dbcon->select_db(MySqlInfo::DBNAME);
        // need to add error handling here
    }

    final public class TeamMember 
    {
        public $name; // team member name
        public $title; // team member title
        public $bio; // team member bio
        public $sord; // team member sort order
        public $picfn; // team member profile picture file name
    }

    public function addMember ( TeamMember $M )
    {
        if ($this->$dbcon->connect_error)
        {
            return new MethodResult(false, 'Not connected to database');
        }

        $q = "INSERT INTO " . MySqlInfo::TEAMTABLENAME . " (" . implode( ',' array($M->name, $M->title, $M->bio, $M->sord, $M->picfn) ) . ") VALUES ('" . implode('\',\'', array($_POST['fullname'], $_POST['title'], $_POST['bio'], $_POST['sord'], $targetFileName)) . "')";
        // ^ query for inserting member M to the database

        if (!mysqli_query(this->$dbcon, $q))
        {
            return new MethodResult(false, 'Query to insert new team member failed');
        }

        return new MethodResult(true, 'Successfully added new member' . $M->name);
    }
}

?>

include()万一找不到要包含的文件,可能会导致错误。就这么简单。因此,在包含文件之前,必须确保该文件存在。另外,切勿使用像这样的相对路径../script.php,因为它们会带来许多问题。一个主要问题是,由于安全原因,某些托管服务提供商不允许相对路径。

因此,要确保可以包含该文件,只需检查其是否存在:

<?php

// dirname(__FILE__) returns an absolute path of the current script
// which is being executed

$file = dirname(__FILE__) . '/script.php';

if (is_file($file)) {
   include($file);
} else {
   echo 'File does not exist';
}

另外,我看到您在编写代码时还是过时的。您可能想看看PSR-FIG标准

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这会导致 PHP?

来自分类Dev

为什么会导致错误?

来自分类Dev

当您运行`update-rc.d myscript default`时-在启动/关闭时被称为什么?

来自分类Dev

#include <mutex> 导致 bind() 函数调用在编译时抛出错误,为什么?

来自分类Dev

为什么在单个语句中分配动态对象的成员变量会导致PHP出现语法错误?

来自分类Dev

为什么= +不会导致编译错误?

来自分类Dev

为什么矢量会导致细分错误?

来自分类Dev

strsep()导致段错误-为什么?

来自分类Dev

为什么$ foo = *不会导致错误?

来自分类Dev

为什么这个条件会导致错误?

来自分类Dev

PHP很小的小数导致错误

来自分类Dev

PHP的“能力”导致解析错误

来自分类Dev

我的代码中是什么导致了以下错误:PHP 致命错误:未捕获的错误:在 null 上调用成员函数 begin()?

来自分类Dev

为什么会停止记录 PHP 错误?

来自分类Dev

为什么PHP include()不能更改文件访问时间?

来自分类Dev

是什么导致此错误?

来自分类Dev

是什么导致此段错误?

来自分类Dev

是什么导致细分错误?

来自分类Dev

While(“ abc”); 导致java中的错误,并且不会导致c中的任何错误。为什么?

来自分类Dev

较大的MySQL INSERT语句导致PHP错误

来自分类Dev

PHP导致错误404无法正常工作

来自分类Dev

PHP导致服务器错误

来自分类Dev

在php中转换url导致凌空错误

来自分类Dev

PHP PDO准备语句参数导致错误

来自分类Dev

PHP导致错误404无法正常工作

来自分类Dev

Ajax / PHP代码导致404错误

来自分类Dev

PHP导致服务器错误

来自分类Dev

PHP $ _SESSION变量导致mySQL错误

来自分类Dev

PHP:数组声明导致错误 500

Related 相关文章

热门标签

归档