премахване на echo при require/include
19 отговора
1340 прегледа
премахване на echo при require/include
инклудвам външен файл, който извършва някакви операции и изкарва нещо на екрана. Какд а го накарам това, което изкарва на екрана да не го изкарва на екрана, а да ми го запише в променлива?
Благодаря
Благодаря
Re: премахване на echo при require/include
ако си направиш и малко труда да разгледаш ш***ния мануал на ПХП-то, цена няма да имаш.
хинт: оутпут контрол фунцтионс
Just a genius
хинт: оутпут контрол фунцтионс
Re: премахване на echo при require/include
мерси. ша си направа труда, по прицип отдавна не се занимавам с ПХП сега ми потрйава затова попитах
Re: премахване на echo при require/include
$x = 5;
Everything louder than everything else...
Everything louder than everything else...
ето как ...
брех, много скрънзави хората станали напоследък ... да му се не види. не дават акъл, все искат пари ...
ето как може да стане:
ob_start();
include("file.php");
$text = ob_get_contents();
ob_end_clean();
и тук вече си имаш в $text целия аутпут на файл.пхп
само че фнимавай ;) можеш да имаш само едно буфериране, извикаш ли я втори път оувъррайдваш първото или става някво мазало. това само в случаите на по-сложни пхп схеми и библиотеки наличен такъв буферинг ...
тфа от мен засега ... че се гледам то станало 15:30 почти, а аз съм забравил днес, че трябва и да работя
ето как може да стане:
ob_start();
include("file.php");
$text = ob_get_contents();
ob_end_clean();
и тук вече си имаш в $text целия аутпут на файл.пхп
само че фнимавай ;) можеш да имаш само едно буфериране, извикаш ли я втори път оувъррайдваш първото или става някво мазало. това само в случаите на по-сложни пхп схеми и библиотеки наличен такъв буферинг ...
тфа от мен засега ... че се гледам то станало 15:30 почти, а аз съм забравил днес, че трябва и да работя
Re: ето как ...
ми не е въпроса в скръндзене, щото сега ше му кажем, след 2 дена ше висне и ше пита как се праща майл, или как да покаже само 20 символа от 50-символен стринг... тоя мануал хората не са го издали ей така да има, а за да се чете...
Just a genius
Re: ето как ...
Output buffers are stackable, that is, you may call ob_start() while another ob_start() is active. Just make sure that you call ob_end_flush() the appropriate number of times.
та кво викаш за само едното буфериране?
та кво викаш за само едното буфериране?
Re: ето как ...
брех, къде ми изчезна месиджа? сигурен съм че натиснах бутона и сега го няма ...
дано не съм го постнал някъде другаде. я пак да се пробвам да го напиша:
значи от опит бях установил някакъв бъг, че се скапаха нещата с второ извикване на ob_start() без да съм извикал ob_end...() на първия.
но може аз да съм бил в грешка (и в действителност вече се надявам да е така) и просто да съм останал твърдо убеден за този проблем.
благодаря за бележката, тва май съм го утървал като съм чел дукиментацията, ще тествам пак. дано си прав, че върши прекрасна работа в този случай.
значи от опит бях установил някакъв бъг, че се скапаха нещата с второ извикване на ob_start() без да съм извикал ob_end...() на първия.
но може аз да съм бил в грешка (и в действителност вече се надявам да е така) и просто да съм останал твърдо убеден за този проблем.
благодаря за бележката, тва май съм го утървал като съм чел дукиментацията, ще тествам пак. дано си прав, че върши прекрасна работа в този случай.
Re: ето как ...
Skuchajno reshih da se wurna w kluba, puk ledam to pisano oshte po temata ;)
zabrawih da ti blagodarja, ti mi kaza napulno dostatuchno ili po-skoro mi pripomni.
Onq den mi trqbwashe a dali zashtoto imah drugi zadachi ili shtoto neiskashe da mi se otwori helpa na magumata ili prosto zashtoto me murzeshe( kakto w momenta da switshna na kirilica), puk w sajta nigoga ne sum gledal helpa i reshih da postna i tuk wse pak toq klub e i za takwiz neshta. Inache towa, koeto mi napisa beshe napulno dostatuchno!
Taj che mersi, i ne se drazni kogato se zadawat takwiz wuprosi.
zabrawih da ti blagodarja, ti mi kaza napulno dostatuchno ili po-skoro mi pripomni.
Onq den mi trqbwashe a dali zashtoto imah drugi zadachi ili shtoto neiskashe da mi se otwori helpa na magumata ili prosto zashtoto me murzeshe( kakto w momenta da switshna na kirilica), puk w sajta nigoga ne sum gledal helpa i reshih da postna i tuk wse pak toq klub e i za takwiz neshta. Inache towa, koeto mi napisa beshe napulno dostatuchno!
Taj che mersi, i ne se drazni kogato se zadawat takwiz wuprosi.
Re: премахване на echo при require/include
kakuv output buffering be hora? nema smi. kato se iska da se include neshto, file koito shte se vmukva izobshto ne triabva da otpechatva nishto. prerazgledai si designa na scripta. da, output buffering moje da se izpolzva, no celiat podhod koito ti predlagat e nepravilen.
Re: премахване на echo при require/include
къде пък видя някой да му го предлага това? бахти толко ли е трудно да се чете внимателно...
Re: премахване на echo при require/include
Че какво му е на подхода, ако файла е външен и нямаш достъп до него за редакция?
Re: премахване на echo при require/include
Да ползваш ob е принципно неправилно за твоя случай, но щом работи - остави.
Re: премахване на echo при require/include
въпроса е принципен и хората са прави да се ядосват. това че работи не значи че е правилния начин, не за друго, а щото свикваш да правиш нещата без да мислиш върху принципите и един ден нещо фундаментално бъркаш именно поради липсата на мислене. друг момент е да се замислиш кво става с тебе ако един прекрасен ден наследиш такъв скрипт, как би си обяснил логиката на този който го е написал?
в конкретния случай имаме файл на който сме му казали да плюе нещо на аутпута. после казваме на друг файл да пречи на първия файл да си плюе нещото дето му е казано да си го плюе. след тва ше почнем да търсим начин как да покажем тва дет принципно се показва, ма ние сме го спряли... предполагам става ясно за какво говоря :) а правилния подход би бил да се преработи инклуднатия скрипт така че да не ечи насам натам а да върне обект, променлива, константа, квото ти трябва, която да съдържа резултата от работата му.
АКО нямаш достъп до файла за редакция, тогава - да. само че ти чак сега споменаваш за това ограничение, мисля.
в конкретния случай имаме файл на който сме му казали да плюе нещо на аутпута. после казваме на друг файл да пречи на първия файл да си плюе нещото дето му е казано да си го плюе. след тва ше почнем да търсим начин как да покажем тва дет принципно се показва, ма ние сме го спряли... предполагам става ясно за какво говоря :) а правилния подход би бил да се преработи инклуднатия скрипт така че да не ечи насам натам а да върне обект, променлива, константа, квото ти трябва, която да съдържа резултата от работата му.
АКО нямаш достъп до файла за редакция, тогава - да. само че ти чак сега споменаваш за това ограничение, мисля.
Re: премахване на echo при require/include
Ми не виждам причина щом като имаш достъп до него поне за четене, да не си го копнеш и модифицираш така, че да прави това което ти искаш. Разстоянието между това да принт-ваш нещо, и това да го вкараш в променлива и върнеш с return е има/няма два-три код.
Иначе както беше написал някой, да спираш да се прави нещо е по-трудния път. Максимата "Работи ли? Да. Не го пипай!" не винаги върши работа.
Поздрави.

Иначе както беше написал някой, да спираш да се прави нещо е по-трудния път. Максимата "Работи ли? Да. Не го пипай!" не винаги върши работа.
Поздрави.
Re: премахване на echo при require/include
В отговор на:Ми не виждам причина щом като имаш достъп до него поне за четене, да не си го копнеш и модифицираш така, че да прави това което ти искаш.
Е да де ама не баш. И ти имаш достъп за четене до [линк], айде копни си го и го промени така че аутпута да без реклами !
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Re: премахване на echo при require/include
Понеже стана по-дълга темата искам да обясня.
Наистина напълно съм съгласен че ако аз пиша и двата файла, ще трябва да си ги направя като хората. В случая обаче не е така. Затова и написах "външен" файл, това само по себе си може да няма голям смисъл, но в контекста, съм си представял че ще разберете какво искам да ви кажа. Аз имам достъп до този файл, и мога да го променя, но не смятам че е редно.
Той не е писан от мен, Той работи в контескта на друга система, която ползвам. Хубаво хващам сега и го променям. Какво ще се получи трябва да ставам роб на другата система. Ако утре Сис админ-а реши да я ъпгрейдва, нещата се скапват!!! Трбява пак да хващам вече новия файл и да го променям. След 5 години мойе пак да ме извикат. Че ще трябва и да си спомням какво съм правил!!! Та имам достъп до файла, но неискам да го променям.
Благодаря за съвета, все пак.
Наистина напълно съм съгласен че ако аз пиша и двата файла, ще трябва да си ги направя като хората. В случая обаче не е така. Затова и написах "външен" файл, това само по себе си може да няма голям смисъл, но в контекста, съм си представял че ще разберете какво искам да ви кажа. Аз имам достъп до този файл, и мога да го променя, но не смятам че е редно.
Той не е писан от мен, Той работи в контескта на друга система, която ползвам. Хубаво хващам сега и го променям. Какво ще се получи трябва да ставам роб на другата система. Ако утре Сис админ-а реши да я ъпгрейдва, нещата се скапват!!! Трбява пак да хващам вече новия файл и да го променям. След 5 години мойе пак да ме извикат. Че ще трябва и да си спомням какво съм правил!!! Та имам достъп до файла, но неискам да го променям.
Благодаря за съвета, все пак.
Re: премахване на echo при require/include
В отговор на:инклудвам външен файл, който извършва някакви операции и изкарва нещо на екрана. Какд а го накарам това, което изкарва на екрана да не го изкарва на екрана, а да ми го запише в променлива?
така като му чета първоначалното писание, май дружно сме се пообъркали за целта на занятието.
The include() statement includes and evaluates the specified file.
ако дърпам dir.bg няма да го evaluate, шото нещо смисъл не намирам.
на чивека му трябва fopen() просто, ма при тая формулировка...
П.С. упс, докат си изформулирам мойта си, то се появило разяснение - сега имаме достъп, ма не щем да променяме.
пич, подходи пак има няколко, важното е че имаш един дет работи :)
Редактирано от тoшo на
Re: премахване на echo при require/include
ще ми е интересно да чуя и друг подход.
Благодаря
Благодаря