Reindirizzare l'output

Per necessità mia avrei bisogno di reindirizzare l'output di php (che normalmente viene inviato al browser) su di un file; non so se è possibile ma ogni suggerimento è ben accetto.

Riscrivere interamente tutta la procedura attuale non è accettabile, almeno per ora.

inviato 10 anni fa
LonelyWolf
X 0 X

E' improbabile che senza riscrivere almeno una parte dell'applicazione tu possa fare qualcosa, non è come indirizzare un foglio di stampa verso un file, dove non è l'applicazione che lo stampa che si cura del problema, ma un wrapper che ddcide dove inviare lo spooler.

Puoi rimettendo mano a parte del codice, utilizzare le funzioni di streaming, per esempio mandare una pagina in striming all'interno della funzione file_put_contents() ma solo se usi PHP 5.1.x

Cerca nel manuale stream_filter_register e stream_context_create

risposto 10 anni fa
Marco Grazia
X 0 X

mettere mano a parte del codice si può fare ed è ovviamnte quello che intendevo, tutto no sono troppi "componenti".

Come PHP sono ancora alla 4 qualche cosa, non ho necessità di aggiornare.

Controllerò quelle funzioni, grazie.

risposto 10 anni fa
LonelyWolf
X 0 X

Non è quello che mi serve, mi sa che dovrò rivedere l'intera procedura, purtroppo.

risposto 10 anni fa
LonelyWolf
X 0 X

soluzione costo zero:

<?php
ob_start();

// -----------
// tuo codice
// -----------

$out = ob_get_contents();
ob_end_clean();
file_put_contents("nome_file.txt",$out);
?>

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Perchè non ci ho pensato prima?

Grazie Gianni proverò subito.

risposto 10 anni fa
LonelyWolf
X 0 X

Tutto pefetto, solo che quella funzione è disponibile da php5 (allora io uso fopen fwrite fclose).

Eppure cercando alternative avevo ista una soluzione identica per realizzar un pdf, proprio non ho assoiato la cosa!.

Grazie di nuovo.

Edit:

Ora mi manca solo la gestione del "salto pagina"!

risposto 10 anni fa
LonelyWolf
modificato 10 anni fa
X 0 X

Ma perché non passi alla versione 5? Ti rende tutto più semlice.

risposto 10 anni fa
Marco Grazia
X 0 X

Non passo alla 5 perchè non ho un server di test e cambiare direttamente sul server "di produzione" non è una bella cosa! :D

risposto 10 anni fa
LonelyWolf
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda