PDA

View Full Version : PHP aiuto stringa e spazi


ThRiX
06-02-2006, 12:15
Ciao a tutti
ho un problema con php;

con la seguente funzione scrivo una stringa ($testo) in un file di testo (prova.txt)

$scrivi=@fopen("prova.txt","w");
@fwrite($scrivi,$testo);
@fclose($scrivi);

e fin qui nessun prob. in quanto nel file sono presenti i dati contenuti nella var testo...
il prob arriva quando cerco di leggere il file con la seg. istruzione:

$contriga=1;
$leggitesto=@fopen("prova.txt","r");
while (!feof($leggitesto))
{
$contenuto= @fgets($leggitesto, 4096);
$contenutows= rtrim($contenuto); /* rimuove gli spazi alla fine della riga*/
if ($contriga==1)
{echo "prima riga $contenutows";}

if ($contriga==2)
{echo "seconda riga $contenutows";}
...
...
..

e così via!
le parole vengono visualizzate bene, ma se ci sono spazi (es: "ciao mondo")
vedrò solo ("ciao")
come posso risolvere tale prob?
nel file per essere chiari vedo "ciao mondo"

tglman
06-02-2006, 13:16
perche non ti fai stampare prima del "rtrim" la stringa e vedi cosa c'è scritto, magari il tuo editor di testo vede come invio i catratteri "\n\r" e il php magari solo "\n".

Xalexalex
06-02-2006, 16:54
Un trucco artigianale...
Invece che andare a capo con \n batti un invio su fwrite..
ex: fwrite($res,$testo."
");

Prova se così va... e usa trim invece che rtrim, li taglia anche all'inizio, e non ti dovrebbe dar fastidio.
Ciao

ThRiX
09-02-2006, 23:15
Dopo diversi giorni di prove sono riuscito a capire che il problema risiede qui!

$prova="ciao mondo";

...
<td height="12" width="365"><input type=text class=textstyle name=prova size=51 readonly=1 value=<? echo "$prova";?>></td>

...CON IL CODICE QUI SOPRA , CHE DEVO PER FORZA DI COSE UTILIZZARE MI SPARISCE TUTTO CIO' CHE SI TROVO DOPO LO SPAZIO, NELL'ESEMPIO DOVRE VISUALIZZARE "CIAO MONDO", INVECE A SCHERMO OTTENGO "CIAO"

...
<? echo "$prova";?>

...SUBITO DOPO SE UTILIZZO QUEST'ALTRO CODICE LA SCRITTA SI VEDE BENISSIMO E CIOè "CIAO MONDO"

COME POSSO RISOLVERE IL PROBLEMA?

ThRiX
09-02-2006, 23:50
Ci sono riuscito!

questo è il codice che ho utilizzato:


<? echo "<td height=12 width=365><input type=text class=textstyle name=prova size=51 readonly=1 value='$prova'></td>";?>

Xalexalex
10-02-2006, 16:43
<td height="12" width="365"><input type=text class=textstyle name=prova size=51 readonly=1 value=<? echo "$prova";?>></td> Forse dovevi mettere value="<?php echo $prova ?>">... Con le virgolette del campo value...
Boh, buon per te che hai risolto cmq.
Ciao