我对PHP编程非常陌生。我试图用Drupal编写这个自定义php代码,并看到这种奇怪的行为。基本上,我有两个用户可以点击的php文件,第一个php文件显示的是第二个文件的输出。我不包括第一个文件中的第二个文件。
Home.php --第一个文件(输出“为什么我在执行”)
<?php include 'HomeView.BL.inc';
//Other links to access second file
?>
HomeView.BL.inc
<?php
include 'db.inc';
include 'dao.inc'
假设我有两个php脚本script.php和inc.php。(<?php省略)
inc.php
$foo = 'a';
script.php
$foo = 'b'; // $foo is b
include 'inc.php'; // $foo is a
然后,在包含inc.php的那一刻,变量$foo被'a'覆盖。我想有文件,可以包括在没有副作用。
最实际的是一种局部范围:
inc.php (2)
// $foo is b
{
$foo = 'a'; // $foo is a
} // $foo i
有没有可能将if语句排除到两个不同的文件?当我编写类似以下代码的代码时,它会给出一个解析错误:syntax error, unexpected end of file。显然,我总是必须关闭同一包含文件中的if语句。有没有办法实现我想要的东西?
index.php:
<?php
require "top.inc.php"; // opening the if statement
some code to execute if statement in top.inc.php is true
require "bottom.inc.php"; // clo
当包含一个文件时,我得到了以下错误。
Warning: require(home2/myusername/public_html/inc/config.php)
[function.require]: failed to open stream: No such file or directory in
/home2/myusername/public_html/inc/bootstrap.php on line 32
Fatal error: require() [function.require]: Failed opening required
'home2
我正在构建一个网站,并在根文件夹中有index.php。其他页面的深度可达2个文件夹,并按其不同的类别分开。
因此index.php文件将是正确的;
<?php include ('/inc/head.php'); ?>
但其他页面必须是;
<?php include ('../inc/head.php'); ?> or <?php include ('../../inc/head.php'); ?>
但是这破坏了css和脚本文件在包含文件本身中的相对路径,因为它们没有正确地映射!有什么解决办法吗?