1. Начата процедура восстановления социальных групп. Лидерам старых и новых групп обязательно ознакомиться с регламентом проведения работ.

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

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

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

    скорее всего дело в том что дубли функций появляются
    либо относительные пути где то меняются
  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. так и есть - дублирование функций

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

    блоки типа

    PHP:
    function name() {
    .....
    .....
    }
    эти функции были загружены при инклуде script1.php
    guru85 нравится это.
  5. в скриптах нет function в каждом скрипте у меня, инклюд файла function.php, видимо надо убрать во всех последующих кроме первого этот инклюд. наверно в этом косяк, а переменные не могут задублироватся как нибудь? ведь называются они одинаково, но в каждом скрипте имеют разное значение?
  6. ну вот в этом function.php - эти function и есть - тогда удалить лишние инклуды

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

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

    те надо их использовать (или выводить) и только потом инклудить следующий парсер
    guru85 нравится это.
  7. замените include или require на их братьев include_once и require_once и будет вам счастье)
  8. yes include_once() will do...
  9. Может я наркоман и не вкуриваю сути вопроса но не проще ли было просто создать 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. Arqin прав, используй require. Разница между ними в том что рекуайр сразу обрабатывает файл и добавляет только результаты, а с инклуд как б он сначала соединяется в файл а потом обрабаывается.