Newsgroup: it.comp.www.php
Titolo: Scrittura dei file...

Sto impazzendo!! Cosa devo fare???
Ho un file di testo tipo questo:
________________________________________________
hngfhdfjgtfdjh
jhjhgjgjhhgfhg
fhjhgjgjgjhgfhj
fjhgjhgfjgjhfgh
_____________________________________________
Il mio scopo e prenderlo e riscriverlo con una linea modificata... quindi
faccio...
____________________________________________________________________________
_
/* La variabile $rigamia contiene una riga del file che mi interessa che ho
preso in precedenza */
$file = realpath("include/miofile.dat");
$righe = file($file);
foreach ($righe as $indice => $valore) {
    if ($valore == $rigamia)
      $righe[$indice] = "Questa riga è stata modificata --->".$rigamia;
      }
}
$variabile = fopen($file , "w");
foreach ($visite as $valore) {
 fputs($variabile , $valore);
}
fclose($variabile);
____________________________________________________________________________
___
Dopo la scrittura il file si presenta così:
________________________________________
hngfhdfjgtfdjh
jhjhgjgjhhgfhg
Questa riga è stata modificata -->fhjhgjgjgjhgfhj
fjhgjhgfjgjhfgh
_________________________________________
Funziona benissimo, l'unico problema è che m per qualche strano motivo, od
ogni scrittura del file mi inserisce uno spazio tra ogni riga...
Quindi dopo diverse scritture avrò un file così.
________________________________________________
hngfhdfjgtfdjh
jhjhgjgjhhgfhg
Questa riga è stata modificata -->fhjhgjgjgjhgfhj
fjhgjhgfjgjhfgh
________________________________________________
E se apro il file con il Notepad le linee non hanno nessuno spazio, però
alla fine di ogni riga ci sono quei strani quadratini che simboleggiano le
andate a capo!!
Come devo fare per eliminare questo inconveniente????

Scusate avevo sbagliato a scrivere una variabile......
----------------------------------------------------------------------Ecco
qui:
 Sto impazzendo!! Cosa devo fare???
 Ho un file di testo tipo questo:
 ________________________________________________
 hngfhdfjgtfdjh
 jhjhgjgjhhgfhg
 fhjhgjgjgjhgfhj
 fjhgjhgfjgjhfgh
 _____________________________________________
 Il mio scopo e prenderlo e riscriverlo con una linea modificata... quindi
 faccio...
____________________________________________________________________________
 _
 /* La variabile $rigamia contiene una riga del file che mi interessa che ho
 preso in precedenza */
 $file = realpath("include/miofile.dat");
 $righe = file($file);
 foreach ($righe as $indice => $valore) {
     if ($valore == $rigamia)
       $righe[$indice] = "Questa riga è stata modificata --->".$rigamia;
       }
 }
 $variabile = fopen($file , "w");
 foreach ($righe as $valore) {


 ogni scrittura del file mi inserisce uno spazio tra ogni riga...
strano. al massimo trimma un '\n' in fondo alle righe da inserire nel 
file...
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.nist.gov/dads/

  ogni scrittura del file mi inserisce uno spazio tra ogni riga...
Scommetto 50 centesimi di euro che sei sotto windows... :)
Fai diventare questa riga
$variabile = fopen($file , "w");
così...
$variabile = fopen($file , "wb");
e dai un'occhiata ad fopen sul manuale...

 Scommetto 50 centesimi di euro che sei sotto windows... :)^M
^M
bella forza! il notepad dove lo vuoi che apra??^M
^M
:-)^M
^M
-- 
Punkarruso^M
mail:punkarruso chiocchiolona despammed punto com^M
pubblicità progresso:^M
http://marketing.tenagra.com/rfc1855.html
^M

 bella forza! il notepad dove lo vuoi che apra??^M
beh... magari qualche masochista ha fatto un porting di notepad su freebsd
eliminando il 99% delle funzionalità di qualsiasi editor della famiglia unix
:))
A meno che "notepad" sia sia un termine sotto copyright microsoft... vabbè..
semmai un improbabile notepadx...
Detto in breve.. avevo letto di fretta e quello è un tipico problema che si
incontra lavorando sotto win :)

 $variabile = fopen($file , "wb");
Una variabile con "wb"  funziona se uploadata su apache?

 Una variabile con "wb"  funziona se uploadata su apache?
Non si tratta di una variabile.. semmai indica il modo con cui verrà aperto
il file..
Il wb non dipende comunque nemmeno dal webserver... semmai dal sistema
operativo.. in windows viene utilizzato anche il b mentre in linux o simili
viene semplicemente ignorato.

 simili viene semplicemente ignorato.
In parole povere:
per i sistemi operativi "adulti" (quelli che hanno raggiunto la maggiore
eta'...) QUALSIASI file e' una sequenza di bytes: spetta all'applicazione
che li usa interpretarli.
Quindi, volendo, con un editor di testo in linux puoi anche modificare un
jpg.
Il problema e' che qualcuno, per non fare nomi sono Microsoft e Apple, ha
deciso che le righe NON sono separate da un semplice \n ma da un \r\n in
Windows e da un \r in Mac.
Quindi, quando trasferisci un file da un sistema all'altro in FTP, devi
dire al programma quali sono i files di testo (.htm, .php, .txt ecc.) in
modo che modifichi ad hoc il fine riga: se da windows trasferissi un jpg
come file di testo verrebbe fuori un bel pasticcio!
Ti e' mai capitato di aprire un sorgente HTML con il vecchio notepad di
windows e vedere tutto il testo su una riga sola separato da quadrettini
neri? Beh, e' perche' era in formato Unix.
Se vuoi un editor gratis molto evoluto che ti permetta di gestire i vari
a-capo scaricati notetab light: 
http://www.notetab.ch
ciao
-- 
Marco Bernardini - bernama chiocciola libero it
E' bello volare alti e liberi come un'aquila,
ma nessuna talpa e' mai finita nei motori di un jet.

 ma nessuna talpa e' mai finita nei motori di un jet.
Conosci te stesso, i tuoi limiti e le tue capacità.
Cerca di capire gli altri, i loro limiti e le loro capacità.
Volerai alto schivando aerei ed elicotteri.

 a-capo scaricati notetab light: 
http://www.notetab.ch
gvim anche sotto win. non ce n'è!!
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/gnu/manifesto.it.html