2016-11-06 48 views
0

我有一个问题我的连接profile.php问题链接我的文件PHP

主文件夹

index.php 
page1.php 
page2.php 
page3.php 
server folder 
css folder 
include folder 
user folder 

服务器文件夹包含

css文件夹包含

stylesheet.css 

包括文件夹公司ntains

header.php 
footer.php 

用户文件夹包含

profile.php 

所有的文件都

include ROOT.'include/header.php'; 
include ROOT.'include/footer.php'; 

我的header.php

<!doctype HTML> 
<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="css/stylesheet.css"> 
</head> 
<body> 

我用

012内
chdir('maindirectory'); 
define('ROOT', getcwd().DS); 

一切工程,除了我的profile.php似乎不能加载我的CSS文件。为什么iam将配置文件分解为用户,因为我使用htaccess删除'.php',并且我想允许用户搜索用户/'用户名'。

如果我永远不会分开,我会遇到其他页面出现问题,例如example.com/page2,它会搜索用户而不是转到第2页。

+0

当加载'profile.php'和CSS文件不加载,你检查的浏览器网页检查,看看那里的浏览器尝试(失败),以获得css文件来自?我不完全肯定你的问题,但这听起来像是因为'profile.php'在用户文件夹中,它试图在'user/css/stylesheet.css'找到css文件而不是'css/stylesheet.css' 。 – JamesStewy

+0

通过使用 解决了这个问题href ='/ main/css/stylesheet.css /'; 还是谢谢! – Craig

回答

0

尝试包括使用$ _ SERVER [“DOCUMENT_ROOT”] ROOT的文件,而不是或定义为ROOT $ _ SERVER [“DOCUMENT_ROOT”]

0

你并不需要使用CHDIR和定义就知道工作文件夹。您可以使用__DIR__常量返回工作目录(见斜杠包括__DIR__不返回最后一个斜线):

include __DIR__ . '/include/header.php'; 
include __DIR__ . '/include/footer.php'; 

在profile.php __DIR__具有root /用户价值。这意味着哟需要做的:

include __DIR__ . '/../include/header.php'; 
include __DIR__ . '/../include/footer.php'; 

如果您的PHP版本不支持__DIR__,您可以使用目录名(__ FILE__)来代替:

include dirname(__FILE__) . '/include/header.php'; 
include dirname(__FILE__) . '/include/footer.php'; 

如果你不知道或怀疑你总是目录可以呼应:

echo __DIR__; 
+0

profile.php仍然无法链接到css – Craig

+0

您需要知道您的基本网址并添加到标题。php链接标记 – Mork

+0

http://stackoverflow.com/a/2820771/1546012 – Mork