我正在尝试开发一个网站。我希望用PHP编写的网站的不同部分将在不同的文件中。例如“posts.php”,“recents.php”等。我正在尝试使用“include”功能来包含目录“/ codes /”中的文件。但它没有用。
如果我将<?php include '/codes/posts.php' ?>
放在原始HTML页面的中间(页面以PHP格式保存),则会发生这种情况。添加的行之前的代码部分正在工作,但添加的行之后的部分消失了。不知道为什么。我做错了什么?
答案 0 :(得分:2)
解决分号问题后,还要考虑:
如果定义了一个路径 - 无论是绝对路径(从Windows上的驱动器号或者\或Unix / Linux系统上的/开始)还是相对于当前目录(以。或..开头) - include_path将被忽略共。例如,如果文件名以../开头,则解析器将查找父目录以查找所请求的文件。
所以include './codes/posts.php';
或include 'codes/posts.php'
,第一个版本查找文件,相对于当前工作目录,第二个版本使用包含路径。
PS:最好使用require_once
或include_once
,以避免多次包含相同的函数/类定义,这将导致问题(重新声明函数)
答案 1 :(得分:1)
试试这个,你忘了添加一个引用:
<?php
// Enable error logging:
error_reporting(E_ALL ^ E_NOTICE);
// Add a single quote:
include '/codes/posts.php';
?>
答案 2 :(得分:1)
最有可能的是,您遇到了路径问题。 /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';