include отображает содержимое файла, а не подключает

Тема в разделе "Как сделать...", создана пользователем danneo, 24 фев 2014.

  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.463
    Симпатии:
    114
    Есть строка:
    PHP:
    $data = include( ENGINE_DIR '/cache/system/area.php' );
    Далее идет код примерно такой код,
    PHP:
    if ( $data == false ) {
    //делаем формирование файла
    }
    Файл на самом деле есть. Он выводится в браузер, все что в нем есть. А есть в нем многомерный массив. Т.к. сервер видимо не дорабатывает файл и вкидывает его в браузер в виде сериализованного массива, после чего определяет содержание $data и начинает выполнять код далее. Случается так не всегда, бывает каждый 2-й, 10-й раз. Может быть из-за глюков на сервере или еще чего-то.
    Как можно решить такую проблему?
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.547
    Симпатии:
    1.419
  3. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.463
    Симпатии:
    114
    конечно есть.
    Я где-то читал, уже не помню, что include может выводить содержание файлов. Заменил для пробы на require. Буду смотреть :)
    но все равно странно очень... что за глюк такой... может хостинг виноват...
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.547
    Симпатии:
    1.419
    Может и хостинг, было такое что некоторые сайты изредка отдавали код php-файла вместо его интерпретации. Встречалось даже на таком не мелком сайте как freelance.ru.
     
  5. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    354
    Симпатии:
    127
    include может выводить содержание файла только в одном случае - если нету открывающего/закрывающего тега <?php ?> в файле, который инклудится. В других случаях код должен выполняться...
     
  6. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.463
    Симпатии:
    114
    а вот у меня все равно выводит, сегодня на локалке каждый 3-й, 5-й раз. Аж браузер зависает напрочь.
     
  7. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    354
    Симпатии:
    127
    А пхп на локалке никак глючить не может? Если бы это был "просто вывод текста" браузер точно не подвисал бы...
     
  8. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.547
    Симпатии:
    1.419
    Попробуй в браузер вывести 15МБ текста... почему именно 15 смотри другую тему от danneo
     
    danneo нравится это.
  9. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    354
    Симпатии:
    127
    Любопытно какую...
     
  10. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.547
    Симпатии:
    1.419
    Не суть важно - просто прими или проверь, если не веришь, что браузеры подвисают от больших текстовых файлов. Лет 5-7 назад я так винду XP полностью вешал. Сейчас это может быть актуально для планшетов, нетбуков, маломощных ноутов...

    https://www.nulled.cc/threads/249518/