Написал классик, который проверяет шаблоны, и подключает их, но, он не пахает.
Решил вытащить инклуд на главную и протестировать напрямую, и нашел ошибку, но она нестандартная...
Вижу на экране:
Warning: include(1) [function.include]: failed to open stream: No such file or directory in /usr/local/www/apache22/data/test.ru/www/index.php on line 11
Warning: include() [function.include]: Failed opening '1' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /usr/local/www/apache22/data/test.ru/www/index.php on line 11
Меня моментом смутила строка: include(1)
Ну решил проверить свой код:
<?php
header("Content-type: text/html; charset=utf-8");
define('access', true);
require_once('class/db.class.php');
include(HOSTROOT.'/model/templates.php');
$db = db::getConnect();
$dir = new Template_N;
include(HOSTROOT.tmpDir.'/header.inc.php') or die('lala');
?>
Да думаю, понаписал, ага.
Проверил путь, передаваемый инклуду. он показал:
/usr/local/www/apache22/data/test.ru/www/templates/header.inc.php
Ну, все правильно, но почему он думает, что я хочу предложить ему подключить 1??
Помогите, люди добрые :)
Спустя 6 минут, 52 секунды (25.05.2011 - 20:36) Renden написал(а):
alex12060
А чему равны дефайны HOSTROOT и tmpDir мб ты слеш забыл ну типа:
Не?)
И ты пробывал указать относительный путь ну например:
Или где у тя этот файл лежит?
А чему равны дефайны HOSTROOT и tmpDir мб ты слеш забыл ну типа:
include(HOSTROOT.'/'.tmpDir.'/header.inc.php') or die('lala');
Не?)
И ты пробывал указать относительный путь ну например:
include(tmpDir.'/header.inc.php') or die('lala');
Или где у тя этот файл лежит?
Спустя 7 минут, 27 секунд (25.05.2011 - 20:44) T1grOK написал(а):
А если левый слеш убрать.
Спустя 12 минут, 25 секунд (25.05.2011 - 20:56) ZSH написал(а):
(include HOSTROOT.'/'.tmpDir.'/header.inc.php') or die('lala');
Спустя 3 минуты, 36 секунд (25.05.2011 - 21:00) alex12060 написал(а):
ZSH
Красава, помогло. Объясни мне ,в чем дело?
Красава, помогло. Объясни мне ,в чем дело?
Спустя 4 минуты, 23 секунды (25.05.2011 - 21:04) alex12060 написал(а):
Тьфу, точно, я забыл про то, что это языковая конструкция
Всем спасибо, ZSH тебе побольше чем другим
Всем спасибо, ZSH тебе побольше чем другим
Спустя 1 минута, 33 секунды (25.05.2011 - 21:06) ZSH написал(а):
выражение: (tmpDir.'/header.inc.php') === true, потому что внутри есть конкатенация
получается: include (true) тоесть include (1);
одна из причин не использовать скобки в include
получается: include (true) тоесть include (1);
одна из причин не использовать скобки в include
Спустя 11 часов, 9 минут, 55 секунд (26.05.2011 - 08:16) linker написал(а):
Это не причина, есть веская причина вообще не писать or die() после инклуда. Твоё равносильно
(include(HOSTROOT.'/'.tmpDir.'/header.inc.php')) or die('lala');и скобки тут не причём, а причём исключительно логическая ошибка, убери в твоём примере скобки и получим тоже самое
include HOSTROOT.'/'.tmpDir.'/header.inc.php' or die();Поэтому не нужны тут никакие die(), а наличие проверять file_exists().