Newsgroup: it.comp.www.php
Titolo: \n non riconosciuto

Salve, ho un piccolo (spero) problema.
Sto scrivendo il valore di un parametro su file di testo e vorrei andare 
a capo, ma nel file trovo scritto "parametro\n", cioè posso vedere il 
newline cosi' come lo ho scritto nel sorgente invece che come nuova 
linea. Il file mi risulta quindi su una riga unica.
if(isset($_POST['nome']) && $_POST['nome']!=null){
	$file_elenco=fopen('elenco.txt','a');
	fwrite($file_elenco, $_POST['nome'].'\n');
	fclose($file_elenco);
}
Sbaglio qualcosa? Uso EasyPHP 2.0.0.0
Grazie,
Matteo.

 	fwrite($file_elenco, $_POST['nome'].'\n');
A memoria il single quote non espande gli escape characters, controlla 
questo.

Andrea D'Amore ha scritto:

Si era proprio questo.. certo che potevo anche provare XD
Grazie..

 Grazie..
come hai risolto il problema scusa ?  :D
. . .

 come hai risolto il problema scusa ?  :D
Utilizzando "\n" invece di '\n'...
-- 
 . ''`.  Debian maintainer | 
http://wiki.debian.org/DavidPaleino
 : :'  : Linuxer #334216 --|-- 
http://www.hanskalabs.net/
 `. `'`  GPG: 1392B174 ----|---- 
http://snipr.com/qa_page
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174

cobra90nj ha scritto:

Come mi ha suggerito Andrea, eliminando il single quote, cioč il '' (e 
ovviamente mettendo "").
Ora il mio codice č diventato cosě:
fwrite($file_elenco, $_POST['nome']."\n");
Ciao.

> fwrite($file_elenco, $_POST['nome']."\n");
Perchè non inglobi tutto (anche la variabile POST) nelle virgolette
doppie?
fwrite($file_elenco, "$POST[nome]\n");

 ha scritto nel messaggio 
news:ed2875c9-b7f3-4e30...@k16g2000hsf.googlegroups.com...




Perche` e` sbagliato.
Che funzioni ora e` un altro paio di maniche. In PHP6 non funzionera` piu`.
Bye.

 Bye.
No! Non mi dire! :(
Ma perchè questo cambiamento?

 Ma perchè questo cambiamento?
Ti elenco gli errori che ci sono li`:
$_POST, non $POST
nome e' una costante, non una stringa, come invece "nome"
Se usi "$_POST["nome"]\n" naturalmente ti chiudera` la stringa al secondo 
".
Interpretare le variabili dentro le virgolette doppie e` piu` pesante che 
interpretarle fuori.
Non sei mai sicuro di dove finisca una variabile e inizi la stringa.
Molto meglio $_POST["nome"]."\n" che e` piu` chiaro, veloce, 
deterministico.
Bye.

 deterministico.
De Gustibus. Io trovo più chiara e veloce la mia forma (altrimenti non
la userei).

 In che senso?
echo "$DIR_1/pippo.pdf";
La variabile e` $DIR, $DIR_1 o $DIR_ ?
E ringrazia che c'e` una / dopo... :)
 
In bash c'e` una sintassi apposta: ${DIR}_1, ma lo trovo comunque poco 
leggibile.
Poi vedi tu. Io cerco sempre di spiegare agli altri il modo piu` pulito 
per fare le cose. Se tu vuoi usare quello sporco puoi farlo, ma magari non 
insegnarlo ad altri.
Bye.


D'accordo su tutto, ci mancherebbe altro :)
Solo che tu dicevi che io avessi scritto una cosa tipo:
"$_POST["nome"]" generando confusione con le virgolette, cosa non
vera, tutto qui :D

 La variabile e` $DIR, $DIR_1 o $DIR_ ?
echo "{$DIR_1}/pippo.pdf" e non ci pensi piů :-)
Ah, tra l'altro io non userei $_POST["pippo"] ma $_POST['pippo']:
dovrebbe essere un micronanomillesimo piů veloce.
-- 
ValeRyo
CBR600F "Cerbero" - 
http://www.slimmit.com/go.asp?6YT