[英]what am i doing wrong in these php scripts?
这是config.php
<?php
define("DB_SERVER","localhost");
define("DB_NAME","photo_galley");
define("DB_USER_NAME","root");
define("DB_PASSWORD","");
echo DB_SERVER."config file<br>";
?>
这是classes.php
<?php
var_dump(include_once("config.php"));
echo DB_SERVER."class file<br/>";
?>
<?php
class MySQLDatabase{...
这是第三个文件temp.php
<?php
include_once("includes/classes.php");
echo DB_SERVER." tem.php <br/>";
?>
当我在浏览器中打开classes.php时,classes.php和config.php都在include文件夹中,includes文件夹在photo_gallery文件夹中,temp.php在photo_gallery文件夹中。
它显示了我的想法。 首先显示config.php文件中的DB_SERVER值,然后显示classes.php文件中的值,但是当我将CLASS.php文件包含在temp.php中的任何其他文件中时,如第三段代码所示,它给出的内容我在这里不明白它
我不明白输出。 我认为它的输出应该与classes.php的输出相同,多一行显示temp.php的DB_SERVER值。
您能否告诉我为什么在浏览器中打开temp.php时这些常量显示为未定义?
如果int(1)所示的行中包含函数成功,那么为什么不显示config.php中的DB_SERVER值呢?
在temp.php
您的config.php
文件路径错误。 这就是为什么您得到未定义的常量。
包含目录中的config.php
文件。 但是您的temp.php文件位于includes目录之外。
在classes.php中,您可以使用$_SERVER['DOCUMENT_ROOT']
添加完整路径,以便可以在所有文件中访问相同路径。
您从temp.php
错误位置包含config.php。 删除路径。 另外,您应该使用require_once
而不是include_once
因为config.php是至关重要的,因此缺少它应该停止脚本。
当包含classes.php时,config.php的相对路径为include / config.php。
<?php
include_once("includes/config.php");
class MySQLDatabase{...
您的脚本很好。 您只是服务器配置有问题。
他们在我的工作正常:
因此可以说,当我们使用require include函数时,它只是将代码从提到的文件复制到此函数从其调用的文件中。 因此,当我从类文件调用config时,它可以正常工作。 但是,当我从temp调用类时,它只是从那里复制代码,但是对于temp文件,配置文件的位置不同,因此无法正常工作。 我是正确的开发人员先生...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.