Newsgroup: it.comp.www.php
Titolo: [ Dubbio ] interpretare php caricato da un file di testo (si può fare?)

Salve a tutti!
Mi stavo domandando se è possibile far interpretare della sintassi php
che viene letta da un file tramite una funzione sempre scritta in php.
Per chiarire il concetto faccio un esempio:
una pagina contiene una funzione "carica" che si occupa di leggere un file
esterno e di metterlo a video; facciamo finta che il contenuto sia
qualcosa come
 
[filecaricato.txt]
   ciao, come va?<br>tutto bene!
a video vedrò
ciao, come va?
tutto bene!
... ecco, se io volessi mettere in filecaricato.txt un pezzo di php questo
non viene interpretato
[filecaricato.txt]
<? echo date(d/m/y); ?> ciao, come va?<br>tutto bene!
si può fare qualcosa per questo problema?
la funzione carica non filtra nulla e butta a video quel che legge con
echo.
grazie.
-- 
 [ Running Linux Fedora Cora 1 ]
 ~ 
http://www.lasteden.it
 ~ ICQ: 61670579

 che viene letta da un file tramite una funzione sempre scritta in php.
http://it.php.net/manual/it/function.eval.php
Ciao
Marco

In teoria se modifichi il php.ini e cerchi dove dice di eseguire le cose
.php al parser php e metti sotto la stessa riga con l'estensione .txt
dovrebbe andare.
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
e ci metti sotto un bel
AddType application/x-httpd-php .txt
fammi sapere. ciao :)
##################################
Carratta Andrea
www.innoland.it
 - IT Web Community
Linux Counter: 334016
##################################
"Fustino Di dixan" <d...@ka.kp.home> ha scritto nel messaggio
news:pan.2004.01.25....@ka.kp.home...


 fammi sapere. ciao :)
<cut>
grazie ma non posso dato che l'hosting che ho non me lo permette.
in locale posso fare tutto ovviamente ma ho ripiegato su questa solizione:
[snip]
	if ($vstrPhp == "siphp")
	{
		ob_start();	// catturo e butto in un buffer
		eval(" " . $alltext . " ");	// espando il codice - se si lamenta qui magari sono
						// le funzioni che la chiamano ad avere errori
		$alltext = ob_get_contents(); // assegno il tutto alla variabile
		ob_end_clean();	// pulisco il buffer
	}
	echo $alltext;
[snip]
con questo if posso quindi caricare file html o txt o quant'altro senza
"espandere e interpretare" il contenuto, oppure fare l'operazione.
solo 2 cose:
- ho dovuto mettere " " all'inizio e alla fine se no dava errore.
- il file contente codice php non deve essere racchiuso tra <? e ?> se no
  si arrabbia ancora.
ciauz


 se no   si arrabbia ancora.
Non e' che si arrabbia. la funzione eval interpreta la stringa come
codice PHP, ovviamente se passi codice non PHP restituisce un errore.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Non trovi qualche cosa? 
http://url.repository.biz/go/1J

Per vedere come si fa, ti rimando alle altre risposte, solo non
implementerei una simile feature per alcun motivo al mondo. Nel migliore dei
casi potresti trovarti con dei semplici danni al tuo spazio web, nella
peggiore delle ipotesi potresti trovarti con il disco formattato, oppure con
qualcuno che manda delle minacce di morte al presidente del consiglio e fa
finire in galera te.
Michele Mader
http://www.studiomader.it
"Fustino Di dixan" <d...@ka.kp.home> ha scritto nel messaggio
news:pan.2004.01.25....@ka.kp.home...


 finire in galera te.
Mamma mia come la facciamo tragica :)
Si spera che utilizzi questa cosa su file utilizzati per salvare dati
serializzati e non su input inserito dai navigatori.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Meglio comunque mettere in guardia contro pericoli che possono essere gravi.
"fabio sutto" <fabio.s...@liberoYYY.it> ha scritto nel messaggio
news:151Z25Z65Z204Y1...@usenet.libero.it...


> serializzati e non su input inserito dai navigatori.
<cut>
giammai!!!
i soli file che carico li scrivo io e a maggior ragione quelli contentente
php 


 Che tipo di errore.
<cut>
il solito fatal error e scrive eval()d ... si proprio con questa d finale
che non capisco che centri.


 finale che non capisco che centri.
<?php 
$alltext = "print ('test');";
eval ($alltext);
?>
Il codice di cui sopra funziona perfettamente.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/x
