Relative include [php] @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 5 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Tagore
новый человек
0
Сообщения: 24
Зарегистрирован: 08.02.03
Откуда: St. Petersburg
Заголовок сообщения: Relative include [php]
Сообщение Добавлено: 27 Апрель 2003, 00:19:14 
Это хороший прием, что бы включать файл на оюбом уровне сата или есть по-лечше? С $DOCUMENT_ROOT иногда проблема, пхп теряет путь, а иногда нет. Мне надо, что бы это на всех серваках при любой конфигурации работало.

Код:
<? $success = @include_once(dirname(__FILE__)."/elem/config.inc.php");
if (!$success) { echo "Include failed"; } ?>


Код:
А это?

<?php

  function getPath() {
       
     // get position of current file
     $path = $GLOBALS["PATH_INFO"];
     // save a few nanaseconds, has this been done before,
     // has the global variable been set ?
     if (!isset($definedPath)) {
        // is file in root already ?
        if (strrpos($path,"/")!=0) {
           // there is probably a quicker way to count
         // the "/"s in the path
          $path=explode("/",$path);
           $s="";
         for ($i=0;$i<count($path)-1;$i++) {
              if ($path[$i]!="") {
                 // add the number of "../"s required
                 $s.="../";
            }
           }
           // declare a global variable so you dont have to
           // do this again, and return the variable
           global $definedPath;
          $definedPath=$s;
           return $definedPath;
        }
    } else {
        // just return what it worked out before, function
        // only really runs once
        return $definedPath;
     }
  }
   
  include getPath() . "my_include_path/header.inc";
  include getPath() . "includes/somethingelse.inc";
  //above file is at mydomain.com/includes/somethingelse.inc
  include getPath() . "includes/footer.inc";

?>
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: Re: Relative include [php]
Сообщение Добавлено: 27 Апрель 2003, 01:11:06 

Tagore писал(а):
Это хороший прием, что бы включать файл на оюбом уровне сата или есть по-лечше?



Совет: не пытаться найти 100%-переносимое решение. Фантазия хостеров неисчерпаема.

С __FILE__ ты пролетаешь, как только воспользуешься энкодером -- значение этой переменной он фиксирует на момент компиляции.


Что до PATH_INFO, то я вовсе не уверен, что это адекватно сработает при ЛЮБОМ способе маппинга скриптов.
Raziel[SD]
новый человек
0
Сообщения: 137
Зарегистрирован: 26.07.02
Откуда: Москва
Сообщение Добавлено: 27 Апрель 2003, 20:16:27 
я это уже видел здесь :)
http://phpclub.net/talk/showthread.php?s=&threadid=34133&rand=25
если не секрет чем не устраивает ответ в пхпклубе ?

_________________
Чем бы дитя ни тешилось … лишь бы не заболело перед финальным релизом.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 28 Апрель 2003, 00:23:16 
Raziel[SD], угадай, что ты найдешь в PHP-форуме на флэшере? :)

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
Raziel[SD]
новый человек
0
Сообщения: 137
Зарегистрирован: 26.07.02
Откуда: Москва
Сообщение Добавлено: 28 Апрель 2003, 01:04:36 
я не ясновидящий, я только учусь :) такой-же вопрос ? :)
З.Ы. на скольки форумах запостил это сообщение ? :)

_________________
Чем бы дитя ни тешилось … лишь бы не заболело перед финальным релизом.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 5 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100