![]() |
![]() | #1 |
Младенец Join Date: 05 2002 Location: Yerevan, RA
Posts: 58
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
ov im nman gone mi qich PERL giti kimana, vor [email protected] ashxatum er patoknerov, tipa $file = $condition ? ">some.file" : ">-"; open (F, $file); print F $data; hima vonc karelia nman mi ban irakanacnel php-um? asenq grel senc mi ban function out($data, $file) { // .... kaxvac $file-ic } |
![]() |
![]() | #4 |
ЙЦУКЕН Join Date: 07 2002 Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77 Age: 51
Posts: 3,118
Downloads: 0 Uploads: 0
Reputation: 5 | 0 | ![]()
rtmf eshe raz :) http://php.net/fopen kurit' na predmet special'nyh fajlow php://stdin, php://stdout i , kak vy uzhe dogadalis', doragaju publika, php://stderr :) dal'she objasnjat' nado ? |
![]() |
![]() | #6 |
Младенец Join Date: 05 2002 Location: Yerevan, RA
Posts: 58
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
пипл.. однако это всего лишь теория, а на практике? я сам пробывал, примерно так. Code: <?PHP function my_print ($data, $out_stream = 'php://stdout') { $h = fopen($out_stream, 'w'); fwrite($h, $data); } my_print('Kuckuck'); ?> php.exe -q out.php получаем Kuckuck все ОК, потом делаем запрос на этот файл серверу.. http://localhost/that_file.php и ничего не получаем... --------------------------------------------- я получается неправильно сформулировал вопрос... можно я еще? :) я так понял echo, print выводят не на stdout a прямо в клиенту в сокет. а есть способ получить handle oт этого патока? |
![]() |
![]() | #8 |
Младенец Join Date: 05 2002 Location: Yerevan, RA
Posts: 58
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
>>А что ты хочешь сделать? Можешь объяснить подробней? Без проблем. есть такая идея написать что отдаленно похожую на препроцессора или частично компилятора (как в Си, только намного проще) а цель, просто чтобы ускорить процесс генерацыи сайта. в двух словах... страница генерируется на основе тэмплитов, где многое описано моими тэгами. тут просто имеет смысл (так как некоторые тэги не зависят от параметров запроса) частично скомпилировать его... а после, генерировать страницы от скомпилированных тэмплитов... такой подход реализован в Smarty, правда я в кодах не копался еще... но идея пришла оттуда.. короче надо чтоб мой компилятор в зависимости от параметров или выводил исход в файл или куда он там выводит... (разумеется если в файл то частично комплированную версию) Не то что проблему нельза никак решить, просто желательно решить красиво... а то всегда можно вставить парочку иф элсов.. |
![]() |
![]() | #9 |
Moderator Join Date: 03 2002 Location: Russia
Posts: 123
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
А что тебе мешает сделать так: 1. Как в Smarty (компилируемый шаблон) Есть шаблон. Smarty компилирует его один раз и получает код на php. 2. Как в других, некомпилируемых шаблонах Есть шаблон. При выполнении скрипта шаблон парсится и получается php код, который сразу выполняется. 3. Написать модуль для php Модуль, который работает по схеме 1 или 2. 4. Перехватывать httpout В php можно перехватывать буфер вывода. Ты можешь обрабатывать его, но это будет обработка уже после php. Или тебе все же надо что-то другое? |
![]() |
![]() | #10 |
Младенец Join Date: 05 2002 Location: Yerevan, RA
Posts: 58
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
мешают в основном время, нервы и т.д. я в смарти не копался, но прифейс читал... так что знаю только что там реализовано, но не знаю как... было бы время я бы покапался в кодах, уверен многому и научился бы... я сам не намереваюсь писать что-то очень гибкое универсальное, просто хочу предусмотреть возможность прекомпиляции на случай если время парсинга в обычном режиме неустроит. честно говоря тот код который сейчас есть, меня устраивает. занимаюсь РНР я с недавних пор, и этот вопрос я просто хотел бе выяснить для себя.. а вопрос пока что остался открытым... а именnо как echo ili print zamenit' na fwrite(...) |
![]() |
![]() | #12 |
Младенец Join Date: 05 2002 Location: Yerevan, RA
Posts: 58
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
так гораздо теплее :)) hayk: спасибо за помощь. код нехитрый но многое показал с чем я не был знаком, я еще почитаю про этот буферинг. а доступа к этому потоку наверно и не предусмотрено, хотя ничего не доказывает это. если узнаю дам знать... спасибо всем еще раз. |
![]() |
![]() | #13 | |
ЙЦУКЕН Join Date: 07 2002 Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77 Age: 51
Posts: 3,118
Downloads: 0 Uploads: 0
Reputation: 5 | 0 | ![]() Quote:
да. если нужн овыловить результат работы пхп сцрипта - фол'ко через буфферинг ...или ![]() fopen("http://foor.com/bar.php", "r") nu i daльше получить результат его работы ... 2 жариант чуть более (или очень более) загружает сервер ) | |
![]() |
Sponsored Links |