include仅在文件位于同一目录时才起作用

时间:2013-03-26 19:45:12

标签: php include

我有这个网站我正在制作。当我从同一个文件夹中包含一个php文件时,它可以正常工作

<?php include('/ioanblog/appstore/header.php');?> 

它不起作用或

<?php include('http://www.domain.co.uk/appstore/header.php');?> 

也没有。

所有标题都是样式表和Piwik代码,它也会保存导航。

enter image description here

4 个答案:

答案 0 :(得分:2)

很难说为什么在不知道文件夹结构的情况下包含不起作用。 但您可以使用绝对路径尝试:/ home / user / domain / public_html / etc ...

答案 1 :(得分:1)

在相对路径上阅读the documentation

  

如果定义了一个路径 - 无论是绝对路径(从Windows上的驱动器号或者\或Unix / Linux系统上的/开始)还是相对于当前目录(以。或..开头) - include_path将被忽略共。例如,如果文件名以../开头,则解析器将查找父目录以查找所请求的文件。

您使用的是/ioanblog/… 绝对路径。我怀疑您的网站位于/var/www/public_html/ioanblog/…/home/user/ioanblog/…或类似内容,/ioanblog/… 。您应该删除第一个/,使其成为亲戚而不是绝对路径。对于实际文件,您可能必须“上”到父目录,如../contents/header.php../../contents/header.php

作为pointed out by brbcoding,它应该是../../header.php。但首先要确保你理解绝对/相对路径!

您可能还想阅读realpath()以“转换”相对路径到绝对路径。

答案 2 :(得分:1)

尝试删除第一个斜杠,以便include('ioanblog/appstore/header.php');

答案 3 :(得分:1)

使用<?php include('../../header.php');?>

这是我的猜测......就我所知,你在任何地方都没有appstore目录。

编辑:使用正确的路径更新...来自libreoffice目录。