Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];

Вниз

Как получить из файла php путь к этому файлу?   Найти похожие ветки 

 
Knight ©   (2008-07-01 08:46) [0]

т.е. допустим, есть

test.ru
 папка1
   файл1.inc
 папка2
   файл2.inc

 файл3.inc


файл3.inc содержит
echo xxx
include(test.ru/папка1/файл1);

файл1.inc содержит
echo xxx
include(test.ru/папка2/файл2);

файл2.inc содержит
echo xxx

Вопрос:
Какую функцию xxx использовать в файлах файл1, файл2, файл3, чтобы они вывели
test.ru/файл3.inc
test.ru/папка1/файл1.inc
test.ru/папка2/файл2.inc

?


 
brother ©   (2008-07-01 09:25) [1]

наверное копать в сторону глобальных переменных? $_SERVER["REMOTE_ADDR"])


 
brother ©   (2008-07-01 09:27) [2]

еще тут посмотри:
http://www.phpfaq.ru/all
(Различие между абсолютными и относительными путями)
там все подробненько :)


 
Rouse_ ©   (2008-07-01 09:42) [3]

<?
if (!defined("ROOT"))
{
   define("ROOT",      dirname(__FILE__));
}
echo ROOT;
?>

Путь к папке, в которой находится файл.


 
Knight ©   (2008-07-01 10:00) [4]

> [3] Rouse_ ©   (01.07.08 09:42)

Не то выводит... во всех трёх выводит абсолютный дисковый путь к первому.


 
brother ©   (2008-07-01 10:02) [5]

по [2] что? :)


 
Knight ©   (2008-07-01 10:08) [6]

> [5] brother ©   (01.07.08 10:02)

А там тоже самое... мне любой путь лишь бы не вызывающего скрипта, а из которого вызвана функция отпределения пути... т.е. при include(файл2) в файле3 вызов этой функции в файл2 должен выдать путь к файл2, а не файл3.


 
Knight ©   (2008-07-01 10:09) [7]

dirname(__FILE__)); работает именно так.. как не надо.. выдаёт из любого скрипта путь до первого вызванного.


 
McSimm ©   (2008-07-01 10:10) [8]

Какой именно путь, внешний урл?
Зачем это нужно ? (скорее всего что-то неправильно в подходе к проблеме)

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


 
Knight ©   (2008-07-01 10:14) [9]

> [8] McSimm ©   (01.07.08 10:10)

Любой путь... Т.е. вопрос в том, может ли присоединённый файл узнать путь к самому себе, а не к скрипту к которому его присоединили?


 
McSimm ©   (2008-07-01 10:15) [10]

файловый путь - конечно
константа __FILE__


 
McSimm ©   (2008-07-01 10:17) [11]


> выдаёт из любого скрипта путь до первого вызванного.

Э...
никогда такое не видел, что за окружение ?


 
Knight ©   (2008-07-01 10:17) [12]

> [10] McSimm ©   (01.07.08 10:15)

Она выдаёт путь к файл3 и из файл3 и из файл2.


 
Knight ©   (2008-07-01 10:18) [13]

> [11] McSimm ©   (01.07.08 10:17)

Хм.. может это косяк виндового денвера?


 
Knight ©   (2008-07-01 10:19) [14]

> [13] Knight ©   (01.07.08 10:18)

Хотя не похоже...


 
brother ©   (2008-07-01 10:19) [15]


> файл3.inc содержитecho xxxinclude(test.ru/папка1/файл1);
> файл1.inc содержитecho xxxinclude(test.ru/папка2/файл2);
> файл2.inc содержитecho xxxВопрос:Какую функцию xxx использовать
> в файлах файл1, файл2, файл3, чтобы они вывелиtest.ru/файл3.
> inctest.ru/папка1/файл1.inctest.ru/папка2/файл2.inc

тогда создай переменную которая содержик url корня...
в файлах еще одна переменная=url+"подпапка"... (для каждого!) как то так?


 
Knight ©   (2008-07-01 10:20) [16]

> [15] brother ©   (01.07.08 10:19)

Вот это мне и хочется обойти... :)))


 
Knight ©   (2008-07-01 10:21) [17]

> [15] brother ©   (01.07.08 10:19)

Если сабж действительно не реален, то придётся делать именно так.


 
brother ©   (2008-07-01 10:21) [18]


> Вот это мне и хочется обойти... :)))

реализуй хотябы так... дальше пропатчишь если что :)


 
brother ©   (2008-07-01 10:22) [19]

зы Для изучения, можно скачать любой бесплатный движок, и посмотреть как там это реализовано, думается мне что они головной url сохраняют в любом случаее (скорее всего в БД)


 
Knight ©   (2008-07-01 10:25) [20]

> [19] brother ©   (01.07.08 10:22)

Головной url у меня есть... но придётся ещё и пути до корня всех служебных папок делать, т.к. структура ещё не стабильна и много чего куда перемещается %)


 
brother ©   (2008-07-01 10:28) [21]


> т.к. структура ещё не стабильна и много чего куда перемещается
> %)

вот это есть не хорошо, лучше продумать все сразу ;)
меня терзают смутные воспоминания, что пути к подпапкам там они забивают ручками... (сам подобное писал и смотрел как другие делают, только давно это было)...
вот движок мой (не законченый ( ): www.nokia6233.h17.ru


 
Knight ©   (2008-07-01 10:29) [22]

> [20] Knight ©   (01.07.08 10:25)

"Пациент нестабилен"... капельницу хочется прикрепить к каталке :)))


 
McSimm ©   (2008-07-01 10:30) [23]

Не должно так быть, что выводит такая конструкция?

file1.php
<? include("folder/file2.php"); ?>

file2.php
<? echo __FILE__; ?>


 
Knight ©   (2008-07-01 10:30) [24]

> [21] brother ©   (01.07.08 10:28)

Для продумывания требуется хотя бы одна законченная реализация... а тут всё вроде продумаешь, потом приходит хорошая мысль и приходится передумывать всё сначала %))


 
Knight ©   (2008-07-01 10:35) [25]

> [23] McSimm ©   (01.07.08 10:30)

О! Так работает... я понял... у Розыча константа определялась, поэтому повторно на не переназначалась. Наверно :)


 
Knight ©   (2008-07-01 10:36) [26]

> [3] Rouse_ ©   (01.07.08 09:42)



> [23] McSimm ©   (01.07.08 10:30)


Спасибо *BEER* :)))


 
brother ©   (2008-07-01 10:38) [27]

Эх, пойду после работы САМ СЕБЕ пиво куплю ))))


 
Knight ©   (2008-07-01 10:40) [28]

> [27] brother ©   (01.07.08 10:38)

И тебе спасибо *BEER* %)))


 
brother ©   (2008-07-01 10:42) [29]

гы %) но пиво я всеж куплю сегодня)


 
Knight ©   (2008-07-01 10:45) [30]

ЗАРАБОТАЛО :))))))))



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.046 c
15-1214770690
vister
2008-06-30 00:18
2008.08.17
Отладка программы


2-1216032987
alexalex
2008-07-14 14:56
2008.08.17
печать


4-1194334678
Mamed
2007-11-06 10:37
2008.08.17
Lan Card Disable


2-1215995612
npr2
2008-07-14 04:33
2008.08.17
DBGrid


2-1215942865
Саша
2008-07-13 13:54
2008.08.17
Шифрование RSA.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский