Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    36

    fopen, problema scrittura all'inizio del file

    ciao a tutti !
    sto usando da un pò fopen, il problema che fino ad adesso ho usato fopen con con l'opzione "a", ovvero prende il file in cui scrivere posiziona il puntatore alla fine e scrive....non cancella assolutamente niente di quello che c'era scritto prima...

    quindi ad esempio se in un file c'è scritto :
    codice:
    aaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaa
    e attraverso un form gli faccio aggiungere il testo, fopen mi scrive al fondo del file es:
    codice:
    aaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaa
    bbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbb
    adesso però mi serviva scrivere all'inizio del file ma la cosa funziona decisamente male...ho provato con l'opzione w ed r ma ci sono dei problemi "seri"
    ovvero se ad esempio il file ha nel suo contenuto:
    codice:
    aaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaa
    e io scrivo:
    codice:
    bbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    sembra quasi che sovrascriva quello che c'era scritto prima ovvero fà una cosa tipo:
    codice:
    bbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaa
    cosa che con l'opzione "a" non funziona (ma purtroppo anzi che posizionare il puntatore in alto lo posiziona in basso

    qualche consiglio? spero di essermi spiegata non sono bravissima (e si nota :P)

    se può essere utile questo è lo script:
    Codice PHP:
    <?
        $data 
    $_POST["data"];
        
    $img $_POST["img"];
        
    $link $_POST["link"];
        
    $titolo $_POST["titolo"];
        
    $testo $_POST["testo"];

        
    $file "text.html";

            
    // Apro il file di testo e ci srivo dentro
            
    $prova fopen($file"w");
            
    $scrivi .= "[img]. $img . [/img]";
            
    $scrivi .= "<a href=" $link ">";
            
    $scrivi .= "<font color=#999999>[b]||"$data "||";
            
    $scrivi .= " "$titolo "[/b]</font></a>
    "
    ;
            
    $scrivi .= $testo "...";
            
    $scrivi .= "[url=" $link "]*continua*[/url]

    \r"
    ;
            
    fwrite($prova$scrivi);
            
    fclose($prova);

            
    Header("Location: [url]http://prova.it[/url]");
    ?>
    edit:
    ho provato anche con r+ ma niente cancella quello che c'era scritto prima

  2. #2
    Utente di HTML.it L'avatar di jappoz
    Registrato dal
    Dec 2007
    Messaggi
    114
    prova ad aprire il file in modalità append, così non sovrascrive nulla...
    Codice PHP:

    <?php
    $textfile
    =fopen($file,"a");  // apro il file in a
     // istruzioni

    fclose($file);
    ?>
    "Un film è, o dovrebbe essere, più simile alla musica che non alla fiction. Dovrebbe essere una progressione di stati d'animo e sentimenti. Il tema, ciò che è dietro all'emozione, il significato: tutto viene dopo"
    Stanley Kubrick

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    36
    domanda nel mio codice:
    Codice PHP:
    <? 
        $data 
    $_POST["data"]; 
        
    $img $_POST["img"]; 
        
    $link $_POST["link"]; 
        
    $titolo $_POST["titolo"]; 
        
    $testo $_POST["testo"]; 

        
    $file "text.html"

            
    // Apro il file di testo e ci srivo dentro 
            
    $prova fopen($file"w");  
            
    $scrivi .= "[img]. $img . [/img]"
            
    $scrivi .= "<a href=" $link ">"
            
    $scrivi .= "<font color=#999999>[b]||"$data "||"
            
    $scrivi .= " "$titolo "[/b]</font></a>
    "

            
    $scrivi .= $testo "..."
            
    $scrivi .= "[url=" $link "]*continua*[/url]

    \r"

            
    fwrite($prova$scrivi); 
            
    fclose($prova); 

            
    Header("Location: [url="http://prova.it"][url]http://prova.it[/url][/url]"); 
    ?>
    dove dovrei mettere quello che dici te?
    perchè io con l'opzione "a" ho provat a sostituirla al posto della "w" qui:
    $prova = fopen($file, "w");
    ma anzi che scrivere ad inizio file scrive al fondo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.