Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Include без выполнения кода.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Нужно прочитать несколько php файлов, а потом их выполнить.
igosja
Отправлено: 16 Июля, 2013 - 14:12:19
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




Здравствуйте.

Есть код.

PHP:
скопировать код в буфер обмена
  1. if($a == 1) {/*выполняем что-то*/}
  2. else {/*выдаем сообщение об ошибке*/}


Нужно его разбить так:
файл begin.php -
файл main.php -
PHP:
скопировать код в буфер обмена
  1. /*выполняем что-то*/

файл end.php -
PHP:
скопировать код в буфер обмена
  1. }
  2. else {/*выдаем сообщение об ошибке*/}


Если файлы подключать через include/require, то после подключения первого файла - begin.php - сервер его тут-же выполняет, не находит закрытия условия, которое находится в файле end.php, и выдает ошибку - "syntax error, unexpected $end".

Подскажите, как можно подключить файлы без выполнения, а потом их выполнить вместе?
 
 Top
esterio
Отправлено: 16 Июля, 2013 - 14:18:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




begin.php
PHP:
скопировать код в буфер обмена
  1. if($a == 1)
  2.     include('main.php');
  3. else
  4.    include('end.php');


main.php


end.php
 
 Top
igosja
Отправлено: 16 Июля, 2013 - 14:26:04
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




Приведенный в примере код упрощен до нельзя - в реале у меня простыня в 1500 строк + вызовы функций на еще сколько же строк, и желательно разбить и подключить их именно так, как стоит вопрос. Условие + действие + закрытие условия, а потом выполнить. Можно ли такое седлать? Если нет, тогда будем применять метод из ответа.

(Отредактировано автором: 16 Июля, 2013 - 14:27:15)

 
 Top
esterio
Отправлено: 16 Июля, 2013 - 14:29:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




igosja пишет:
Если нет, тогда будем применять метод из первого ответа.

Я че то пропустил. А какой первый ответ.

Что мешает загнать все функции в файл functions.php, подключить его, а потом по условию испольнять ту или инную функцию

П.С.
igosja пишет:
простыня в 1500 строк

Следствие плохой проектировкы
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 14:29:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




igosja пишет:
Приведенный в примере код упрощен до нельзя - в реале у меня простыня в 1500 строк + вызовы функций на еще сколько же строк, и желательно разбить и подключить их именно так, как стоит вопрос. Условие + действие + закрытие условия, а потом выполнить. Можно ли такое седлать? Если нет, тогда будем применять метод из ответа.

head.php пишет:
if($var

content.php пишет:
== 'ok'

footer.php пишет:
){
echo 'vse ok';
}

смысл такое городить?
(Добавление)
попробуй буферизацию вывода для такого "кода"
или
читай файлы, объединяй их в одну строку, и потом её корми eval'у Ха-ха

(Отредактировано автором: 16 Июля, 2013 - 14:33:14)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
_Dark_
Отправлено: 16 Июля, 2013 - 14:32:23
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


Зачем так делать? Типо мего-защита или что это такое?
 
 Top
igosja
Отправлено: 16 Июля, 2013 - 14:32:33
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




esterio пишет:
Я че то пропустил. А какой первый ответ.
Ваш ответ и был первым. Это я написал на случай, если кто еще что ответит.

(Отредактировано автором: 16 Июля, 2013 - 14:32:51)

 
 Top
esterio
Отправлено: 16 Июля, 2013 - 14:48:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




igosja
soffrick пишет:
смысл такое городить?

такое интерпретатор даже не пропустит
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 15:15:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




esterio пишет:
такое интерпретатор даже не пропустит

какое?


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
esterio
Отправлено: 16 Июля, 2013 - 15:51:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




soffrick пишет:
head.php пишет:
if($var

content.php пишет:
== 'ok'

footer.php пишет:
){
echo 'vse ok';
}
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 16:33:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




esterio пишет:
soffrick пишет:
head.php пишет:
if($var

content.php пишет:
== 'ok'

footer.php пишет:
){
echo 'vse ok';
}

почему?
(Добавление)
это и не надо кормить интерператору;
автор же хочет разбить как попало 1 файл на несколько файлов


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
igosja
Отправлено: 16 Июля, 2013 - 17:08:14
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




Всем спасибо. Единственным нормальным ответом был самый первый, остальное - обычные подколы, типа
soffrick пишет:
это и не надо кормить интерператору;
автор же хочет разбить как попало 1 файл на несколько файлов
.
 
 Top
soffrick
Отправлено: 16 Июля, 2013 - 17:17:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




igosja пишет:
обычные подколы
soffrick пишет:
автор же хочет разбить как попало 1 файл на несколько файлов
.

ок, тогда поясни мне что ты хочешь сделать
Спойлер (Отобразить)

разве не
Цитата:
разбить как попало 1 файл на несколько файлов

(Добавление)
esterio пишет:
PHP:
скопировать код в буфер обмена
  1. if($a == 1)
  2.     include('main.php');
  3. else
  4.    include('end.php');

как жаль что ты не мог придумать это сам Огорчение

(Отредактировано автором: 16 Июля, 2013 - 17:21:17)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
DelphinPRO
Отправлено: 16 Июля, 2013 - 17:23:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




igosja пишет:
Единственным нормальным ответом был самый первый

этот ответ в принципе единственный. по другому никак. синтаксические конструции нельзя разкладывать по нескольким файлам. и php вам об этом однозначно скажет, если вы попытаетесь.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
igosja
Отправлено: 20 Июля, 2013 - 22:14:46
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




esterio пишет:
igosja пишет:
простыня в 1500 строк
Следствие плохой проектировкы
Попали в точку. База данных была недостаточно хорошо нормализирована, и теперь приходиться писать километровые файлы для работы с таблицами.

(Отредактировано автором: 20 Июля, 2013 - 22:16:41)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB