2016-07-03 5 views
0

Мне было интересно, как это было возможно.«../ путь» работает, а не «../../»

Технически, у меня есть head.php файл, содержащий все таблицы стилей и JavaScripts:

head.php

<!--CLIENT--> 

<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1">  
    <link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.min.css"> 
    <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"> 
    <script src="js/bootstrap.min.js"></script> 
</head> 

Файл, где bootstrap.min.css является находится 2 папки вверх, и я где-то читал, что «../» движется назад. Поэтому мне было интересно, почему он все еще работает?

Вот информация путь:

C: \ XAMPP \ HTDOCS \ renewSAD

-Включает папки клиента, CSS, шрифты, & JS.

Внутри папки css находятся все загрузочные файлы css.

`в папке клиента C: \ XAMPP \ HTDOCS \ renewSAD \ клиент

включает в себя другую папку, которая является head.php Поэтому 2 папки прочь для папки CSS. Как получилось, что ../ работает в поиске пути для css-бутстрапа?

Я задал этот вопрос, потому что я думаю, что это может привести к ошибке в будущем.

+1

Это может иметь какое-то отношение к тому, как вы, вероятно, включаете/требуете файлы. Если один из этих файлов PHP содержит тот, который получает файлы на один уровень вниз, то это может быть так. На этот вопрос почти невозможно ответить, не видя, как выглядят ваши фактические php-файлы. –

+0

Hi again @ Fred-ii- Я попробовал удалить все и начать заново. И узнал то же, что и ты. В моей клиентской папке есть файл * clientRegistration.php *, поэтому технически внутри ** клиентской папки ** есть * include folder * & * clientRegistration.php *. КлиентRegistration.php включает файл head.php внутри ** включает * папку. Поэтому '' Оказывается, когда я включаю файл, который является другой папкой, он наследует путь к файлу, который его включает. Надеюсь, вы понимаете, что я сказал. Объяснение и английский не моя сила :) – Jerlon

+1

Вы хорошо объяснили ;-) Это похоже на наследство. Хороший способ найти файлы вместо относительных путей - это перейти прямо к корневой папке '/ var/usr/public/(папки/подпапки)/файл (ы)', используя полный системный путь, если у вас есть сомнения , Существует несколько способов сделать это, используя суперглобальные и другие функции $ _SERVER. –

ответ

2

Если я правильно понял вопрос правильно, имеют следующую структуру:

C:\xampp\htdocs\renewSAD 
    - Client 
    - Another folder 
     - head.php 
    - CSS 
    - bootstrap.min.css 
    - ... 
    - Fonts 
    - JS 

Любой шанс, что ваш index.php фактически находится в папке клиента, и head.php просто получает включенный в этот файл?

Если это так, это работает, потому что пути относятся к основному скрипту (не включенному сценарию). Вы можете использовать getcwd() для проверки текущего каталога.

+0

Точно: D. Я забыл упомянуть внутри, что 'client folder' - это файл, который содержит' head.php' и другую папку (которая содержит 'head.php'). – Jerlon

Смежные вопросы