[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос прост, но не могу разобраться
Fredrich
Подскажите правельное обращение к файлу config.php, что бы я мог к нему мог обращаться с каждого файла и с каждой папки.



Спустя 6 минут, 42 секунды (12.07.2010 - 07:31) tmt0086 написал(а):
require_once ("config.php");

вроде так

Спустя 1 минута, 26 секунд (12.07.2010 - 07:33) Fredrich написал(а):
Когда я обращаюсь с другой папки то пишет ошибку что файл не найден.

Спустя 5 минут (12.07.2010 - 07:38) tmt0086 написал(а):
Цитата (Fredrich @ 12.07.2010 - 04:33)
Когда я обращаюсь с другой папки то пишет ошибку что файл не найден.

так пропиши полный путь))
require_once ("include/config.php");

к примеру вот так

Спустя 34 минуты, 41 секунда (12.07.2010 - 08:12) Fredrich написал(а):
Да не в том дело, сам config у меня лежит в корне сайта а обратиться к нему необходимо например с main/modules/add_view.php и получаеться, что если прописать
require_once ("config.php");
то он обращаеться к main/modules/config.php

Спустя 1 минута, 43 секунды (12.07.2010 - 08:14) KaFe написал(а):
require_once ("././config.php"); 
или
require_once ("../../config.php"); 
?

Спустя 1 минута, 3 секунды (12.07.2010 - 08:15) Basili4 написал(а):
require_once ("/config.php");

/ указывае корень

/config.php - файл в корне.
/main/dsfdsfd.php - файл в паке main которая лежит в корне

Спустя 50 секунд (12.07.2010 - 08:16) Fredrich написал(а):
А что означают точки

Спустя 42 секунды (12.07.2010 - 08:17) Basili4 написал(а):
KaFe
теперь я понимаю откуда берутся строки в коде типа

../../../../../../../../../../../../../module/first_1.php

Спустя 15 секунд (12.07.2010 - 08:17) Fredrich написал(а):
Цитата (Basili4 @ 12.07.2010 - 05:15)
require_once ("/config.php");

/ указывае корень

/config.php - файл в корне.
/main/dsfdsfd.php - файл в паке main которая лежит в корне

ну да

Спустя 25 секунд (12.07.2010 - 08:17) KaFe написал(а):
переход на уровень выше ...

Спустя 31 секунда (12.07.2010 - 08:18) Fredrich написал(а):
Без разницы одна или две

Спустя 2 минуты, 47 секунд (12.07.2010 - 08:21) KaFe написал(а):
лучше две

Спустя 1 минута, 39 секунд (12.07.2010 - 08:22) netruxa написал(а):
ну тут либо ставить определенное количество точек
../../config.php
либо узнать абсолютный адрес расположения скрипта и обращаться к нему
пример
/storage/home/srvХХХХХ/saitru/config.php
абсолютный адрес скрипта мона узнать в переменной $_SERVER['SCRIPT_FILENAME']

Спустя 3 минуты, 43 секунды (12.07.2010 - 08:26) Fredrich написал(а):
И еще один Вопрос вот у меня задумка была такого плана.
Значит сделал я первую страницу с панелью навигации и хочу что бы на этой странице в зависимости от того какую ссылку на панели он нажал та инфа ы выпала.
Пробовал реализовать вот так
if ($page= 'index') {include('modules/index.php')}
if ($page= 'about') {include('modules/about.php')}

Ну и так далее, но бачина в том что выпадает и то и другу, в чем может быть проблема

Спустя 2 минуты, 25 секунд (12.07.2010 - 08:28) KaFe написал(а):
if ($page=='index') {include('modules/index.php')}
if ($page=='about') {include('modules/about.php')}

Спустя 1 минута, 25 секунд (12.07.2010 - 08:30) netruxa написал(а):
Цитата (Basili4 @ 12.07.2010 - 05:15)
require_once ("/config.php");

/ указывае корень

/config.php - файл в корне.
/main/dsfdsfd.php - файл в паке main которая лежит в корне

хз, у меня такое в php не работает, сейчас проверил - все равно не работает
в корень закинул файл test.php
создал папку 1
в папке создал файлик index.php, пишу в нем require_once ("/test.php");
запускаю, пишет
Цитата
Warning: require_once(/test.php) [function.require-once]: failed to open stream: No such file or directory in Z:\home\test1.ru\www\1\index.php on line 2

Fatal error: require_once() [function.require]: Failed opening required '/test.php' (include_path='.;/usr/local/php5/PEAR') in Z:\home\test1.ru\www\1\index.php on line 2


что делаю не так?

Спустя 3 минуты, 43 секунды (12.07.2010 - 08:34) KaFe написал(а):
netruxa не парься, я тоже проверил и сделал вывод, что Basili4 ложанулся с информацией. wink.gif
Fredrich будет еще нуб вопросы?

Спустя 12 минут, 35 секунд (12.07.2010 - 08:46) Basili4 написал(а):
// только внимательно следи откуда приходит $page это потенциальная дыра
include("modules/$page")

Спустя 2 минуты, 19 секунд (12.07.2010 - 08:48) Basili4 написал(а):
KaFe
гоню это под линухом работает на сервере хостера
на винде работатет только так ./

Спустя 13 минут, 19 секунд (12.07.2010 - 09:02) KaFe написал(а):
Basili4
Под виндой и люниксом вот это проходит
include('../../index.php');

это на винде
include('./index.php');

Короче с этими точками выморозиться можно.Если нет вопросов закрывайте тему

Спустя 35 минут, 45 секунд (12.07.2010 - 09:38) Fredrich написал(а):
Цитата (Basili4 @ 12.07.2010 - 05:46)
// только внимательно следи откуда приходит $page это потенциальная дыра
include("modules/$page")

Что за дыра? если у меня 6 страниц если что то другое попадает в значение page я его отсеиваю

Спустя 2 минуты, 47 секунд (12.07.2010 - 09:40) Basili4 написал(а):
Fredrich
если непропускаешь значения которые могут заставить скрипт не как ему положено значит не дыра

Спустя 2 минуты, 2 секунды (12.07.2010 - 09:42) Fredrich написал(а):
Цитата (Basili4 @ 12.07.2010 - 06:40)
Fredrich
если непропускаешь значения которые могут заставить скрипт не как ему положено значит не дыра

Не врубился в суть фразы

Спустя 5 минут, 25 секунд (12.07.2010 - 09:48) Basili4 написал(а):
слова пропустил sad.gif

Если не пропускаешь значения которые могут заставить скрипт работать не как ему положено, значит не дыра.

Спустя 10 минут, 12 секунд (12.07.2010 - 09:58) Fredrich написал(а):
это понятно, но он почему то не работает в такой конструкции

if ($page=='index') {include('modules/index.php')}
if ($page=='about') {include('modules/about.php')}


в чем может быть проблемма

Спустя 5 минут, 57 секунд (12.07.2010 - 10:04) Basili4 написал(а):
пробуй так
echo $page;
if ($page=='index') {include('modules/index.php')}else {include('modules/about.php')}

смотри чему у тебя $page равно.


Спустя 9 минут, 54 секунды (12.07.2010 - 10:14) Fredrich написал(а):
пробовал равно тому чему надо, может использовать вместо
include require

Спустя 2 минуты, 57 секунд (12.07.2010 - 10:17) KaFe написал(а):
а в чем разница

Спустя 3 минуты, 35 секунд (12.07.2010 - 10:20) Fredrich написал(а):
Да я тоже думаю что не в чем ну а зачем тогда два оператора придумали

Спустя 16 минут, 17 секунд (12.07.2010 - 10:37) KaFe написал(а):
Fredrich ну я тебе не буду сейчас мозги полоскать, читай тут http://php.su/learnphp/cs/?ic

Вот результаты тестов, для данного кода

for ($x=1;$x<10000;$x++) include('z.txt');

1.908 сек.
а вот для этого кода
for ($x=1;$x<10000;$x++) require ('z.txt');

1.879 сек.

содержимое файла z.txt
<?php 
$a++;
$a--;
?>

если же в файле будет html код то результаты 1.877 и 1.933, соответственно.

Подведем итоги, разницы практически нет. Делайте выводы сами

Спустя 3 часа, 45 минут, 37 секунд (12.07.2010 - 14:22) Lex_R написал(а):
Так, что то здесь все запутались))
По поводу точек:
".." - это родительская папка
"." - это текущая папка
По поводу реквира и инклюда
require выдает ошибку и останавливает выполнение скрипта, если не может найти файл, который ей передали параметром, а из-за include скрипт не останавливается.


_____________
Видео уроки по Yii
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.