AGAVA partners programs http://agava.ru/partners/            

Название функции

             
Веб-курсы


Что это?

Оглавление

Основы
Основы основ

Практика
Гостевая книга
Простой сайт
Структура сайта (MVC)
Ядро (Light)
Ядро
Гостевая на SQL
Статические страницы
Модуль новостей
Система регистрации

Теория
Дебаггинг
Регулярные выражения
Введение в ООП
Паттерны проектирования

Репозитарий
BB-code
Почтовый класс
Пагинатор
Всякие полезности

Download
Полезные утилиты

Разное
Видеокурсы
Последние изменения
Вопросы и замечания сюда



Реклама

Диеты для похудения
Фреймворк Kohana. Обучение. Мануал на русском.







Файловая система.



Что бы не заблудиться в подключении файлов, нужно хорошо ориентироваться в том, как устроена файловая система. То есть в том, как файлы хранятся на диске и как осуществляется их поиск.

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


То есть кажется, что файлы находятся внутри директории. На самом деле это не так. Директория - это тот же самый файл, просто в нем записан перечень файлов, которые к ней относятся. А находится они могут в совершенно разных местах. Делали когда-нибудь дефрагментацию диска? Вот эта операция раскладывает файлы на диске так, что бы винчестер работал оптимальнее, не елозя головкой по всему диску.

Ну ближе к теме. Так вот, в директории записан перечень файлов. И еще там есть две служебные записи. Точка и две точки. Точка обозначает текущую директорию. Две точки - директорию выше. Вот так примерно:


Теперь рассмотрим, как осуществляется поиск файла. Допустим злому контролеру не понравилась наша ксива. И он требует более весомого подтверждения права на проезд. Приложим к удостоверению проездной билет:
удостоверение.php
1
2
3
4
5
6
7
8
9
<?php


/**  
* Подключаем проездной   
*/ 
    
include './сумочка/проездной.php';


То есть мы сначала идем в текущую директорию './', там находим нужную директорию 'сумочка/', читаем её и находим в списке нужный файл 'проездной.php'.

Текущую директорию './' можно не указывать, она по умолчанию. Но красивее, когда все точно указано.



Но возможна и другая ситуация. Допустим мы показали билет сразу, но контролер посчитал, что он липовый. Тогда мы к нему должны добавить проездной. А если не поможет - сунуть под нос ксиву.
билетик.php
1
2
3
4
5
6
7
8
9
<?php


/**    
* Подключаем ксиву     
*/   
    
include '../../удостоверение.php';


Тут мы читаем служебную запись '../' и переходим в директорию выше. Там тоже читаем такую запись и идем еще выше. Ну а там вожделенная неприставайка 'удостоверение.php'.


Если указывать путь от корня (самой первой директории, обычно это диск), то поиск будет вестись в одном направлении - вниз. Это более удобно, потому что видно весь путь.
билетик.php
1
2
3
4
5
6
7
8
9
<?php


/**     
* Подключаем проездной      
*/    
    
include 'Z:/кошелка/сумочка/проездной.php'



А когда вверх, то вместо директорий точки. Это путает. И потому считается не очень хорошей практикой.

Ну вот и все коротенько.
Рейтинг@Mail.ru Рейтинг@Mail.ru Яндекс цитирования
irbis-team © 2009