Thread obsoleto Gestione del buffering e controllo dell'output

Mapoetto

Nuovo utente
Autore del topic
10 Agosto 2008
37
0
Miglior risposta
0
Premetto che su questa parte di php non ne so molto.
Il mio obbiettivo sarebbe quello di ottenere l'output di una pagina (ovviamente in una variabile di un file php) e non so se è possibile farlo con le funzioni ob_xxx.
A questo punto mi trovo spiazzato.

Vi cito:
da: html.it

...

I casi in cui le funzioni "ob_xxx" si rivelano utili sono essenzialmente 3:

1) quando le pagine presentano un numero notevole di funzioni di stampa queste, attraverso le funzioni "ob", verranno fatte convergere in una sola riducendo il traffico di dati dal server al client.

...
ma allora vuol dire che avendo
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
con le funzioni ob_xxx diventa:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Se no, come diventa?
Ed alla fine è possibile ciò che voglio ottenere?
 
Ciò che vuoi ottenere si fa con file_get_contents($url_sito), l'output buffering, fa in modo di gestire al meglio lo script PHP, ma nel senso che quando uno script presenta tanti cicli e tante funzioni da eseguire con tante funzioni..collegamenti eccetera.. questo fa in modo con delle funzioni restituire subito i dati riportati con l'echo senza aspettare che finisca la generazione della pagina con ob_flush(), e inoltre fa in modo di restituire lo stesso tutto il contenuto anche se ci fossero degli errori, e di far avanzare tranquillamente lo script.
 
Le funzioni di buffering consistono nel fatto che puoi controllare l'output del tuo script. Dunque una volta utilizzato non avrai nessun output fino a quando lo deciderai tu. E' molto utile nel caso devi rimuovere errori nell'invio di header. Io personalmente sconsiglio però di utilizzarlo sempre e ovunque per il fatto che richiede molte risorse per essere eseguito. Comunque prendendo il tuo esempio, tramite le funzioni di buffering ottieni l'output, non una semplice fusione di funzioni. Quindi nel tuo caso ottieni solo:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ok, grazie ma alla fine voglio sapere come è possibile ricavarne l'output di una pagina senza eseguirla (ovviamente in una variabile di uno script)!.

file_get_contents($url_sito) non è la funziona fread semplificata? cioè senza fare fopen, fclose etc..
 
Se ti interessa l'output puoi usare il buffer e basta. Se ti interessa il codice che c'è fai file_get_contents oppure fopen, fread, fclose. Se ti interessa includere il codice come se fosse stato inserito nella pagina che include, quindi comprendendo anche le varie variabili dichiarate e tutto il resto, puoi usare require o include.