我正在尝试开发一个网站。我希望将用 PHP 编写的网站的不同部分将在不同的文件中。例如“posts.php”、“recents.php”等。我正在尝试使用“include”函数来包含目录“/codes/”中的文件。但它不起作用。
发生的事情是,如果我把<?php include '/codes/posts.php' ?>
原始 HTML 页面放在中间(页面以 PHP 格式保存)。添加的行之前的代码部分正在工作,但添加的行之后的部分消失了。不知道为什么。我究竟做错了什么?
修复分号问题后,还要考虑:
如果定义了路径——无论是绝对路径(在 Windows 上以驱动器号或 \ 开头,或在 Unix/Linux 系统上以 / 开头)还是相对于当前目录(以 . 或 .. 开头)—— include_path 将被完全忽略。例如,如果文件名以 ../ 开头,解析器将在父目录中查找请求的文件。
所以include './codes/posts.php';
or include 'codes/posts.php'
,第一个版本查找文件,相对于当前工作目录,第二个使用包含路径。
PS:最好使用require_once
or include_once
,以避免多次包含相同的函数/类定义,这会导致问题(重新声明函数)
很可能,您遇到了路径问题。/code/posts.php
是一个绝对路径,所以除非你有一个名为code
在基本目录中有一个名为的文件夹,否则它无法找到该文件。
/
您需要通过删除第一个( )来设置相对路径,code/posts.php
或者您需要声明主目录的绝对路径
define("BASEDIR", '/home/username/public_html/'); #typical path on a linux server using cpanel
include BASEDIR . 'code/posts.php';
试试这个,你忘了加单引号:
<?php
// Enable error logging:
error_reporting(E_ALL ^ E_NOTICE);
// Add a single quote:
include '/codes/posts.php';
?>