За последние 24 часа нас посетили 16757 программистов и 1694 робота. Сейчас ищут 811 программистов ...

Не срабатывает die() и include тупит...

Тема в разделе "Прочее", создана пользователем EvelRus, 25 дек 2008.

  1. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1. <? include_once ('config.php') or die ('Sorry, work continuation is impossible. Please, check up a file config.php');
    выходе получаю
    Что за бага?
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Это или Это
    Т.е. если первое вернет 0, False, null, то выполнится второе.
    Смотри пути к файлу и имя.

    Чтобы не было таких вещей проверяй через file_exists, а желательно is_readable
     
  3. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Да фишка-то в том, что я подключаю config.php, который есть, а он пишет что ему нужен файл "1"

    А задача сделать так, если файл открыть не возможно, делаем выход
     
  4. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1. <? if (!is_readable('config.php'))
    2. {
    3.     exit ('Sorry, work continuation is impossible. There is no connection with a configuration file! Please, check up a file config.php');
    4. }
    5. include_once ('config.php');
    Правильно?
     
  5. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    интересно, а если я хочу проверить, все ли файлы моего движка присутствуют? Их может быть и 30, имеет ли смысл делать эти проверки, которые тормозят программу? is_readable кстати, кэшируется :)
     
  6. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    =) а может и за 300
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Смысла проверять файлы движка нет. Если какой-то будет отсутствовать, это выяснится на стадии тестирования. Если какой-то потеряется в процессе, то это должно остаться в логах.
     
  8. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Что значит кешируется в данном контексте??? Вот проверил я.. файла нет, он выдал ошибку, я его создал, при агрузке он опять скажет что его нет?
     
  9. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Еще вопрос, а функцию в функции можно делать???

    PHP:
    1. <?
    2. function new ()
    3. {
    4.   function new_1 ()
    5.   {
    6.     ...
    7.   }
    8.   new_1 ();
    9. }
     
  10. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    можно, но она будет глобальной
     
  11. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. (include_once 'config.php') or die('Sorry, work continuation is impossible. Please, check up a file config.php');
    Можно так, но в config.php нужно добавить в конце
    PHP:
    1. return true;
    Но лучше проверять существование файла и уже на основании этого подгружать его.
     
  12. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    не надо
    Код (Text):
    1. $ echo '<?' > 1.php && php -r 'var_dump(include "1.php");'
     
  13. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Точно. Не учёл, что include единицу по дефолту возвращает, если всё ок.
     
  14. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    http://ru2.php.net/manual/ru/function.c ... tcache.php

    типа
    в данном случае она ничем не поможет :)
     
  15. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    А как тогда сделать проверку наличия файла???