Объединение php скриптов в один файл

Тема в разделе "PHP", создана пользователем guru85, 20 янв 2012.

Модераторы: latteo
  1. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    есть простые парсеры, работаю по курлу, все имеют одинаковые переменные, если запускать каждый по отдельности то все ок, но неудобно, хотел объединить их в один файл, пробовал инклюдить по очереди? типа так:
    Код:
    include("script1.php"); //подключаем доп функции
    include('script2.php');
    include('script3.php');
    но происходит непонятки, ошибки появляются, не пойму как правильно их объединить для последовательного запуска. Может как то сбросить переменные в конце каждого скрипта. unset каждую перибарать долго, много переменных, и не знаю поможет или нет это.
     
  2. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    для начала коды ошибок покажите - экстрасенсы в новогоднем отпуске (выйдут в районе 1 апреля на пару дней)

    скорее всего дело в том что дубли функций появляются
    либо относительные пути где то меняются
     
  3. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    да я просто разобрал уже php с инклюдом, ошибка была в файле с функциями, у меня там дергается текст из html и водной из строчек ошибка. как от дублей избавится?

    вот ошибка Fatal error: Cannot redeclare gettextfromhtml() (previously declared in Y:\home\localhost\www\test\4\videoparser\function.php:1) in Y:\home\localhost\www\test\4\videoparser\function.php on line 36
     
    leaderru нравится это.
  4. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    так и есть - дублирование функций

    вычистите в
    script2.php и script3.php

    блоки типа

    PHP:
    function name() {
    .....
    .....
    }
    эти функции были загружены при инклуде script1.php
     
    guru85 нравится это.
  5. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    в скриптах нет function в каждом скрипте у меня, инклюд файла function.php, видимо надо убрать во всех последующих кроме первого этот инклюд. наверно в этом косяк, а переменные не могут задублироватся как нибудь? ведь называются они одинаково, но в каждом скрипте имеют разное значение?
     
  6. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    ну вот в этом function.php - эти function и есть - тогда удалить лишние инклуды

    задублироваться не могут тк скрипт выполняется последовательно

    те они не дублируются они заменяются на значения из следующего участка кода

    те надо их использовать (или выводить) и только потом инклудить следующий парсер
     
    guru85 нравится это.
  7. Arqin

    Arqin

    Регистр.:
    17 мар 2009
    Сообщения:
    185
    Симпатии:
    37
    замените include или require на их братьев include_once и require_once и будет вам счастье)
     
  8. webserver2k9

    webserver2k9 Писатель

    Регистр.:
    13 окт 2011
    Сообщения:
    7
    Симпатии:
    0
    yes include_once() will do...
     
  9. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    Может я наркоман и не вкуриваю сути вопроса но не проще ли было просто создать 1 html файл !?!?!?!
    Ведь скрипты могут быть разные и не всегда выйдет так что получится инклудить их...

    HTML:
    <iframe src="./script1.php"></iframe>
    <iframe src="./script2.php"></iframe>
    <iframe src="./script3.php"></iframe>
    <iframe src="./script4.php"></iframe>
    Конечно это не так правельно как выше решение но зато быстрое и работает 100%
    И Запускать можно любое колличество любых скриптов.
     
  10. HYDRA

    HYDRA Создатель

    Регистр.:
    22 июл 2011
    Сообщения:
    27
    Симпатии:
    1
    Arqin прав, используй require. Разница между ними в том что рекуайр сразу обрабатывает файл и добавляет только результаты, а с инклуд как б он сначала соединяется в файл а потом обрабаывается.