Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106

    Problema fwrite() - Genera righe duplicate nel file

    Ciao,
    ho un problema con questo codice:

    Codice PHP:
    $r1 "1;2;3";
    $r2 "4;5;6";
    $r3 "7;8;9";

    $r $r1 PHP_EOL $r2 PHP_EOL $r3 PHP_EOL;

    $nomeFile 'prova.csv';
    $file fopen($nomeFile'a') or die ('Errore apertura del file ' $nomeFile);
    fwrite($file$r) or die ('Errore scrittura del file ' $nomeFile);
    fclose($file); 

    Nel file che viene creato le righe vengono duplicate.
    Dove sbaglio?
    Grazie.

  2. #2
    Quote Originariamente inviata da samu81 Visualizza il messaggio
    Ciao,
    Nel file che viene creato le righe vengono duplicate.
    Dove sbaglio?
    Grazie.
    Il codice funziona benissimo. Se lo esegui più volte lui non fa' altro che concatenare ciò che gli dici di scrivere, ovvero: Se il file esiste già ne prende il contenuto e in fondo scrive quello che gli dici di scrivere.
    Lo script NON crea un file nuovo ad ogni esecuzione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    No, mi spiego meglio,
    ho notato che eseguendo il codice immettendo l'indirizzo dello script in una nuova scheda del browser, si verifica l'effetto di righe duplicate (vengono scritte 6 righe);
    successivamente ricaricando la pagina senza chiudere la scheda del browser, vengono aggiunte il numero di righe giuste (cioè 3 righe).

    Se può essere d'aiuto, sto usando Safari 7.0.3 come browser
    Ultima modifica di samu81; 26-04-2014 a 11:53

  4. #4
    Facci capire bene..
    la situazione di partenza dovrebbe essere questa: - il file prova.csv NON esiste.
    Apri il browser, metti l'indirizzo e carichi la pagina.
    Apri il file prova.csv e verifica il contenuto.
    Dovrebbero esserci 3 righe.

    A me, con firefox e opera, funziona correttamente.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Si è come dici tu con l'eccezione che invece di 3 righe, ho 6 righe.

    Successivamente se ricarico la pagina, senza chiudere il browser, lo script funziona bene aggiungendo 3 righe.

    Se invece apro una nuova scheda nel browser e carico lo script, aggiunge 6 righe.

    Forse dipende da qualche bug del browser?

  6. #6
    E' sintomo del fatto che lo script viene richiamato due volte. Php non si sogna di eseguire due volte lo stesso script.
    Puoi verificarlo facendo scrivere nel tuo csv una variabile che viene incrementata ad ogni esecuzione dello script.
    Es: $cont =0;
    ++$cont;

    e la salvi nel csv. Se trovi sempre 1 dove viene scritta la variabile $cont è chiaro che è il tuo browser a fare due chiamate al webserver per la pagina.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Mi sa tanto che è la cache di Safari che ha qualche problema. Ho provato con Firefox e Chrome e funziona bene.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Se c'è qualche utente che utilizza OS X vorrei chiedergli di provare e farmi sapere se funziona o meno.

    Io sono arrivato alla conclusione che potrebbe essere un bug di Safari.

    Attualmente sto utilizzando OS X 10.9.2 con Safari 7.0.3 e MAMP 3.0.4 (versione PHP 5.5.10)

  9. #9
    Quote Originariamente inviata da samu81 Visualizza il messaggio
    Se c'è qualche utente che utilizza OS X vorrei chiedergli di provare e farmi sapere se funziona o meno.

    Io sono arrivato alla conclusione che potrebbe essere un bug di Safari.

    Attualmente sto utilizzando OS X 10.9.2 con Safari 7.0.3 e MAMP 3.0.4 (versione PHP 5.5.10)
    Hai estensioni installate in safari ? se si, quali ?

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    106
    Questa la situazione delle estensioni:

    AdBlock (non abilitato su localhost)

    FastestTube
    Shortly
    ResponsiveResize
    Pocket
    ClickToFlash (attualmente installato ma non attivato)

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.