Visualizzazione risultati 1 fino 9 di 9

Discussione: Creare php che gestisce file txt

  1. #1
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    173

    Predefinito Creare php che gestisce file txt

    cia a tutti, grz in anticipo a chi mi aiuterà, devo creare un php che gestisca un txt, nel senso di aprirlo, leggerlo e scriverne testo senza cancellarne il contenuto precedente, tutto qst in un form e password (ma qst so come si fa), una cosa simile a qst per intenderci:

    http://gutguy2.altervista.org/textedit

    (password: "altervista")

    grz.
    Ultima modifica di gutguy2 : 12-08-2014 alle ore 12.31.00

  2. #2
    Guest

    Predefinito

    file_get_contents per leggere

    e file_put_contents con la flag append, per scrivere senza canc.
    Ultima modifica di FormularioDiDrakensang : 12-08-2014 alle ore 12.29.06

  3. #3
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    173

    Predefinito

    Citazione Originalmente inviato da FormularioDiDrakensang Visualizza messaggio
    file_get_contents per leggere

    e file_put_contents con la flag append, per scrivere senza canc.
    scusami ma parti dal presupposto che non so poco di php, riesci a darmi il codice completo? Non vorrei approfittarti di te, ma sarebbe molto molto + facile, grz mille cmq.

  4. #4
    Guest

    Predefinito

    il bello di file_get_contents e file_put_contents... è questo il codice completo

    print file_get_contents("file da leggere.estensione");

    file_put_contents("file da scrivere.estensione", "cosa ci aggiungo", FILE_APPEND);

    comunque per un servizio stile pastebin valuterei l'uso di un db
    Ultima modifica di FormularioDiDrakensang : 12-08-2014 alle ore 13.06.00

  5. #5
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    173

    Predefinito

    grazie mille, ma come faccio a gestirla in una texbox, come questa che riporto sotto, ho provato ma c'è qlcs di sbagliato:

    http://gutguy2.altervista.org/textedit/
    (ho modificato il link)

    come vedi apparte il codice < che appare nella textbox, non apre il file txt

  6. #6
    Guest

    Predefinito

    <textarea name="data">
    <?php print file_get_contents("file da leggere.estensione"); ?>
    </textarea>

    o

    <?php
    print "<textarea name=\"data\">";
    print file_get_contents("file da leggere.estensione");
    print "</textarea>";
    ?>
    Ultima modifica di FormularioDiDrakensang : 12-08-2014 alle ore 14.57.17

  7. #7
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    173

    Predefinito

    qst il codice:

    Codice PHP:




    <center><INPUT TYPE="button" VALUE="Aggiorna" onClick="document.location.reload()"></center>

    <center><button onclick="window.history.go(-1)">Indietro</button></center>

    <center>
    <form>
    <input type=button
    value="Home"
    onClick="self.location='.'">
    </form>
    </center>



    <BR>


    <?PHP
    $yourFile
    = "ip.txt";
    if(
    $_SERVER['REQUEST_METHOD'] == "POST")
    {
    $fs = fopen($yourFile, "a+");

    fwrite($fs, $_POST['fileData']);
    fclose($fs);
    echo
    "
    <p>File salvato.</p>"
    ;
    }
    $fileData = htmlspecialchars(implode('', file($yourFile)));
    ?>

    <center>
    <form method="POST">
    <font face="Times New Roman" size="2" color="#FF0000">
    <h1><i>Inserisci il testo<br>
    se appare errore,<br>cancellare completamente il form,<br>
    quindi salvare la pagina
    </i>
    </h1>
    <br>
    <textarea name="fileData" rows=15 cols=60>



    <?php
    $file
    = "ip.txt";
    $f = fopen($file, "r");
    while (
    $line = fgets($f, 1000) ) {
    print
    $line;
    }
    ?>








    </textarea><br>
    <br>
    <center>
    <input type="submit" value="Salva" name="submit">
    </center>
    </form>

    <br><br>


    <BR><BR><BR><BR><BR><BR>


    <center>

    <font face="Times New Roman" size="2" color="#FF0000">

    Revision: 22/06/2013 15.01

    <BR>

    <font face="Times New Roman" size="1" color="#FF0000">
    <?php

    $filename
    = 'ip.txt';
    if (
    file_exists($filename)) {
    echo
    "$filename last modified: " . date ("d/m/Y H:i:s T (e)", filemtime($filename));

    }




    ?>
    <BR>
    <A style="color: #FF0000; text-decoration: none" HREF="<?php echo $filename;?>"
    TARGET="_parent" title="Clicca QUI per scaricare il file <?php echo $filename;?>" >
    <?php echo $filename;?>
    </A>


    <BR>








    </center>
    provando il codice sopra qui: http://gutguy2.altervista.org/textedit/
    il prolema è che inserendo il nuovo testo, si crea un doppione con quello precedente e ci rimane diverso spazio, inoltre non è possibile cancellare il testo, in pratica mi servirebbe qlcs come un notepad scritto in php...se riesci a dirmi dove diavolo sto sbgliando, cmq grazie mille

  8. #8
    Guest

    Predefinito

    ... se ho letto bene il codice, non hai usato niente di quello che ho suggerito

    apparte quello per la parte di visualizzazione è suff.
    il solo
    <textarea name="data">
    <?php print file_get_contents("file da leggere.estensione"); ?>
    </textarea>
    con al piu' eventuali controlli di sicurezza/esistenza ecc

    per scrivere/aggiornare un vecchio 'appunto' ti porti dietro il contenuto della textarea via post e lo scrivi chiamando file_put_contents non ti serve nemmeno la flag append

    se gli appunti da conservare non superano i 64kb non c'è altro di cui preoccuparsi, se devi garantire capacità infinita bisogna 'impegnarsi' un po di piu'

    file_get_ e file_put a dispetto della loro semplicità sono piuttosto efficienti



    infine, come ti dicevo una buon sistema di appunti online lo costruirei usando un database non milioni di txt

    in modo da poter gestire p.es un sistema di revisioni per lo stesso documento, documenti privati (password) ecc
    Ultima modifica di FormularioDiDrakensang : 15-08-2014 alle ore 17.25.11

  9. #9
    gutguy2 non è connesso Utente
    Data registrazione
    22-12-2005
    Residenza
    BO
    Messaggi
    173

    Predefinito

    posto il codice completo e funzionate per chi servisse

    Codice PHP:
    <h2>titolo</h2>
    <?
    if($_POST['Submit']){
    $open = fopen("file_di_testo.txt","w+");
    $text = $_POST['update'];
    fwrite($open, $text);
    fclose($open);
    echo
    "File aggiornato.<br />";
    echo
    "<textarea Name=\"update\" cols=\"80\" rows=\"30\">";
    $file = file("file_di_testo.txt");
    foreach(
    $file as $text) {
    echo
    $text;
    }
    }else{
    $file = file("file_di_testo.txt");
    echo
    "<form action=\"".$PHP_SELF."\" method=\"post\">";
    echo
    "<textarea Name=\"update\" cols=\"80\" rows=\"30\">";
    foreach(
    $file as $text) {
    echo
    $text;
    }
    echo
    "</textarea><br />";
    echo
    "<input name=\"Submit\" type=\"submit\" value=\"Salva\" />\n
    </form>"
    ;
    }
    ?>
    chiedo a FormularioDiDrakensang che ringrazio per l'aiuto finora di consigliarmi su come fare al fine che dopo il salvataggio/aggiornamento del txt venga visualizzato oltre al testo del txt un bottone che per metta di tornare indietro

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •