Newsgroup: it.comp.www.php
Titolo: [Problema impossibile] FILE_APPEND raddoppia la scrittura su file

Ci sto impazzendo....
Sto cercando di scrivere in un file.
Ho una pagina php con queste poche istruzioni:
<?php
     error_reporting(E_ALL);
     $myFile = "WebServ_activity.log";
     $stringData = Everything's OK!\r";
     file_put_contents($myFile, $stringData, FILE_APPEND);
?>
Ad ogni singola esecuzione della pagina mi ritrovo il file di testo
con la linea che è stata scritta DUE volte!
Aggiungendo il tempo con
     $stringData = strftime("%c") . " - Everything's OK!\r";
si vede che le scritture vengono fatte a due secondi di tempo.
Il codice è solo quello, non richiamo due volte la pagina ed il codice
viene eseguito una sola volta (dimostrato con un 'echo').
Se rimuovo l'argomento FILE_APPEND la linea viene scritta una volta
sola!
Avete idea di quale sia il problema?
Ci sto sbattendo la testa da giorni!

 Avete idea di quale sia il problema?
Controlla il log del web server, mi sa che c'e' qualche ridirezione o latro
Ciao,
luigi
-- 
/
+--[Luigi Rosa]--
\
Celebrate Hannibal Day this year. Take an elephant to lunch.

 sola!
Non è detto,  rimuovendo il flag il file viene riscritto tutte le
volte, quindi anche se viene eseguito due volte vedresti comunque una
riga sola: quella scritta la seconda volta.
bye!

 bye!
Ciao!

 luigi
Ciao!

 lasciato nel limbo che vedo su questo browser.... :-(
Non puoi basarti sulle azioni del browser / dell'utente.
Succederebbe la stessa cosa se qualcuno facesse doppio click
sul link.
-- 
ValeRyo
XT600 "Katoki Pajama" - 
http://www.slimmit.com/go.asp?7Y9
GamerTag: 
http://card.mygamercard.net/IT/nxe/ValeRyo76.png
 

 lasciato nel limbo che vedo su questo browser.... :-(
Bello che vedere che il motto "Da me funziona..." è valido in tutto il
mondo...
Anche se non c'entra nulla con PHP, ti conviene mandare gli screenshot
al tipo che "non riesce a riprodurre il problema".
saludos,
M.

 Usando un altro browser qualunque non lo fa!!
Me ne sono accorto anche io "the hard way".
Chrome, oltre alla normale richiesta GET o PUT, ne fa una seconda HEAD. 
Non so perche`, ma io adesso quando non e` un POST non scrivo niente da 
nessuna parte (file, DB, ecc.). O almeno ci provo, non sempre e` facile 
distinguere.
Bye.

 distinguere.
http://www.google.com/chrome/intl/en/webmasters-faq.html
 (punto 17)
Pero' una doppia azione sul database ce l'hai solo se hai qualcosa scatenato da
una richiesta HEAD sulla pagina PHP.
Ciao,
luigi
-- 
/
+--[Luigi Rosa]--
\
Un classico e` qualcosa che tutti vorrebbero aver letto e nessuno vuol leggere.
    --Mark Twain

 scatenato da una richiesta HEAD sulla pagina PHP.
Stavo testando MongoDB, e avevo fatto una pagina che inseriva una riga di 
test nel DB, senza stare a fare form o simili.
Ogni volta che la richiamavo inseriva due righe, e non riuscivo a capire 
se era un bug di mongodb, del driver mongodb per php, del wrapper mongodb 
per zend framework, del mio wrapper al wrapper, o della query... :)
Una richiesta HEAD richiama comunque PHP e lo esegue tutto prima di 
tornare il controllo ad Apache, quindi ora scrivo nel DB o su file (e a 
volte anche in sessione) solo dentro un
if ($this->getRequest()->isPost()) { ... }
Bye.

 l'informazione scritta su file viene duplicata.
Eh, ma come nell'altro caso questo non è un test valido: se il
problema è che fai due richieste, è chiaro che tu vedrai l'output solo
di una delle due (o la prima o la seconda, dipende da come si comporta
il borwser) e in entrambi i casi vedrai solo *un* output, l'altro
rimane nascosto. Quello che fa fede è il log...
bye!

 bye!

Grazie a tutti delle precisazioni! :)