Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 09:28:14

Страниц: [1]
Печать
Автор Тема: Трабла с include  (Прочитано 906 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
aivee    ↓ 
09 Июль, 2008, 10:42:44
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 28
Сообщений: 1659
Сила слова: 1.69

Есть файл admin.php, в нем только такой текст:
Text
<?php
include_once('template/default/index.php');
?>

В template/default/index.php:
Text
<?php
include_once('admin.php') // инклуд файла template/default/admin.php
?>

При вызове в браузере admin.php (который первый — который в корне сайта) — текст который есть в template/default/admin.php не отображается, при этом, если сменить имя template/default/admin.php на другое, то все ок. Или если инклудить напрямую из admin.php
Text
include_once('template/default/admin.php');
то тоже все ок!!! Что за фигня такая?
 
Забыл добавить.
Ошибки типа no such file ... не появляется (error_reporting(E_ALL))
« Последнее редактирование: 09 Июль, 2008, 11:08:58 от Lirck » Записан

21st century slave
XoxMa™    ↓ 
09 Июль, 2008, 11:10:32 , спустя 27 минут 48 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 132
Сила слова: 0

Я вообще не понял, что ты тут пишешь.. Откуда-то взялось template/default/admin.php у тебя в третьем абзатце.
Может просто нужно не include_once, а просто include, хотя я не знаю, я тебя не понял )
Записан

aivee    ↓ 
09 Июль, 2008, 11:13:51 , спустя 3 минуты 19 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 28
Сообщений: 1659
Сила слова: 1.69

я уже и require пробовал и тд...
Записан

21st century slave
XoxMa™    ↓ 
09 Июль, 2008, 11:15:35 , спустя 1 минуту 44 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 132
Сила слова: 0

no such file... это означает, что не найден файл.
попробуй типа include_once("././admin.php");
Записан

aivee    ↓ 
09 Июль, 2008, 11:19:48 , спустя 4 минуты 13 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 28
Сообщений: 1659
Сила слова: 1.69

мне нужно инклудить из http://xxx.com/template/default/index.php (который инклудится из http://xxx.com/admin.php) файл http://xxx.com/template/default/admin.php,
но если инклудить НАПРЯМУЮ из http://xxx.com/admin.php файл http://xxx.com/template/default/admin.php — то все ок! URL приведены в качестве примера.
Записан

21st century slave
KENDO    ↓ 
09 Июль, 2008, 11:31:41 , спустя 11 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 10
Сообщений: 444
Сила слова: 2.25

К слову:
require отличается от include тем, что если файл невозможно открыть (не найден), то скрипт останавливается.
А постфикс _once означает, что файл будет компилироваться один раз. А если вызовов данного файла несколько и не использовать once, то файл будет каждый раз компилироваться. Вот... ка-кто так.
Записан
aivee    ↓ 
09 Июль, 2008, 11:34:29 , спустя 2 минуты 48 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 28
Сообщений: 1659
Сила слова: 1.69

Да я это знаю xD Помогите мне проблему решить люди плизз
Записан

21st century slave
sap    ↓ 
09 Июль, 2008, 11:42:17 , спустя 7 минут 48 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

Когда ты в template/default/index.php пишешь
PHP
<?php
include_once('admin.php') // инклуд файла template/default/admin.php
?>
То инклудится отнюдь не template/default/admin.php, потому что template/default/index.php ты тоже инклюлишь — причем из admin.php
 
Короче говоря, если ты из one.php иклудишь two/two.php, и в two.php пишешь include('three.php'), то файл three.php будет искаться не в директории two, а в директории, в которой находится самый первый скрипт (one.php), из которого и идет первый инклуд (в данном случае это корень).
Записан

aivee    ↓ 
09 Июль, 2008, 11:52:27 , спустя 10 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 28
Сообщений: 1659
Сила слова: 1.69

Спасибо, я это с самого начала предполагал, но смущало то, что небыло ошибки «no such file». Сейчас исправил с помощью абсолютных путей (realpath('');)
Записан

21st century slave
sap    ↓ 
09 Июль, 2008, 11:56:07 , спустя 3 минуты 40 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

Ошибки не было потому, что в корне файл admin.php существовал =)
Кстати, указание полных путей полезно с точки зрения оптимизации.
Записан

Страниц: [1]
Печать
 

Перейти в: