LINUX.ORG.RU

Вопрос чайника про INCLUDE в PHP


0

0

Всем ДД. Плавно перехожу с asp, asp.net на php. Но не как не разберусь как делать Include указывая путь от корня "/"...

В asp было --#include virtual="/tata/tata.asp" - и все.

В PHP функции include(), require_once(), ... Но для них я не могу написать путь от корня "/includes/design/skin1/top.php", а если пишу "includes/design/skin1/top.php", то не срабатывают инклуды в файле top.php

Есть ли какой-нибудь выход? Спасибо!

anonymous

/someFolder/subFolder/script.php:

...
$pathToRoot = "../..";
require_once($pathToRoot . "/includes/config.php");
...

/includes/config.php
require_once($pathToRoot . "/includes/top.php");

roller ★★★
()

если от корня сайта - то include('./includes/file.php');

То есть точка.

А еще почитай про set_include_path();

Еще более удобная штука. Позволяет задать каталог/каталоги, из которого/которых происходит инклюдинг и в дальнейшем при инклюде вставлять только имя файла

OldFornit
()

Вдумчиво покурить ман на тему директивы include_path

boombick ★★★★★
()
Ответ на: комментарий от Miguel

ну от Де Иказы ничего другого услышать я и не ожидал ;)

по теме: есть такой массив переменных сервера: $_SERVER, в нем много полезных елементов, тебе в частности пригодится DOCUMENT_ROOT. просто если ты указываешь /dir/dir/dir то php считает это инклодом из корня файловой системы, а не из корны документов веб-сервера

temy4
()

используй шаблонизаторы, ибо после пары-тройки прикручивания "фич" твой похапэ код превратиться в кашу ...

phasma ★☆
()
Ответ на: комментарий от phasma

ндя, а какое раздолье с такими инклудами для хацкеров не используй такие инклуды, т.к. не факт что твоя программа запустится на другом серваке, или админу того серва будет лень, точнее он не будет создавать в корне серва новые папки храни инклуды в папке ./include и всё

MihaelSA
()
Ответ на: комментарий от MihaelSA

>не используй такие инклуды, т.к. не факт что твоя программа запустится на другом серваке

1. Набери в браузере php.net/include . Посмотри также php.net/include_path

2. Включи мозг

3. Если не поможет - то рисуй крестик на стенке.

...

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

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Видимо, не в include дело.

Вестимо не в include. Давно известно, что весь похапе на свалку истории пора отправлять. Вот почему в django у меня не было необходимости искать пути для инклуда? Может в консерватории пора что-то подправить?

anonymous
()
Ответ на: комментарий от anonymous

>Вот почему в django у меня не было необходимости искать пути для инклуда?

Потому мне тоже в своём фреймворке не приходится искать пути для инклуда?

...

Между фреймворком и языком есть некоторая разница, между прочим.

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

А с тем, что PHP на свалку пора - не спорю и весьма согласен. Но многое, из того, что хочется, не срастается с суровой реальностью :D

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.