Присоединение таблицы стилей с dirname (__ FILE__) не будет работать, даже если файл там - PullRequest
1 голос
/ 15 ноября 2009

У меня есть класс PHP, который создает заголовок для моего html-файла. Он включен, и этот файл снова включен. Поэтому я подумал, что функция dirname(__FILE__) может работать. Но он говорит, что не может найти таблица стилей ..

Я использую mamp на OS X, и когда я беру путь, который я получаю от dirname(__FILE__)./../stylesheets/stylesheet.css в терминал, файл обнаруживается ... Я почти уверен, что путь правильный.

В чем может быть причина этого? Я использую dirname(__FILE__) все время, когда я включаю файлы, это работает ..

Спасибо

EDIT:

Files and directories:
/data/main.php
/stylesheets/stylesheet.css
/public/index.php

In the main.php:<br>

public function createHeader(){
    `$stylesheetpath = dirname(__FILE__) . "/../stylesheets/stylesheet.css";`
    `$header = "\n";`
    return $header
}

Ответы [ 4 ]

8 голосов
/ 15 ноября 2009

Относительный путь должен быть в порядке.

<LINK REL=StyleSheet HREF="../stylesheets/stylesheet.css" TYPE="text/css">

Абсолютный путь здесь будет абсолютным по отношению к корню документа, а не к файловой системе.

dirname(__FILE__) подходит для включения файлов сценариев на стороне сервера, но не для путей, используемых клиентом. Проще говоря, тег ссылки - это инструкция для браузера, чтобы продолжить и запросить этот файл.

2 голосов
/ 15 ноября 2009

Из вашей файловой структуры, /stylesheets/ вне публичного доступа, она должна быть помещена в папку /public/, чтобы браузеры могли получить файлы:

/data/main.php
/public/stylesheets/stylesheet.css
/public/index.php

Даже когда файл main.php работает, файл, который просматривает браузер, равен index.php, поэтому относительный путь будет stylesheets/stylesheet.css

1 голос
/ 15 ноября 2009

редактировать: читать вопрос неправильно ...

использование

<link rel="stylesheet" href="/stylesheets/stylesheet.css" type="text/css"/>

для CSS

0 голосов
/ 10 апреля 2013
...