Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    281

    database fu file di testo

    ora, sarà che ho bevuto, ma ho visto parlare, qualche volta, di "database su file di testo".
    ora, dato che devo sviluppare un sito php per una piattaforma per cui non esiste mysql, nè esiste nessun dbms, stavo cercando a cosa si riferisse quell'espressione.......

    perdonate quindi se vado ot ma non ho trovato una sezione specifica per i database.....

    cosa si intende per "database su file di testo"?
    dove posso trovare documentazione?

    grazie in anticipo

  2. #2
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    si purtroppo non esiste (credo) una documentazione in linea, basta ingegnarsi un po'. Prendi d'esempio il cutenews, uno script ottimo per le news senza database mysql, e che usa i files di testo. Per esempio facciamo che un file di testo è strutturato così:

    le righe di utenti.php
    [list=1][*]<?php die("
    <font color="red">ATTENZIONE!!</font>
    Non hai i permessi per accedere a questo file!!"); ?>[*]utente 1[--]password md5 dell'utente 1[*]utente 2[--]password md5 dell'utente 2[*]utente 3[--]password md5 dell'utente 3[/list=1]

    il testo in grassetto lo chiamiamo separatore, la prima riga serve a mostrare all'utente un messaggio d'errore.

    supponiamo di voler fare qualcosa per il login, con mysql normalmente si userebbe mysql_fetch_rows, o altre funzioni.
    Come facciamo con i file di testo? Allora:
    questo è il file index.php:

    <?php
    function check_user($user, $md5pwd) {
    $result = FALSE;
    $users_db = file("users.php");
    foreach($users_db as $line) {
    $user_b = explode("[--]", $line);
    if($user_b[0] == $user && $user_b[1] == $md5pwd) {
    $result = TRUE;
    break; //diminuiamo il tempo di esecuzione, anche di poco
    }
    return $result;
    }


    VVoVe: COSA AVRO' SCRITTO??
    esaminiamo questo codice:
    $users_db = file("users.php");
    questo fa sì che si crei un array con in ogni riga un utente (ricordate users.php?)
    foreach($users_db as $line) {
    esegue le operazioni per ogni elemento dell'array.
    $user_b = explode("[--]", $line);
    con explode dividiamo le varie informazioni e infine con un if vediamo se sono corrette.
    andiamo avanti:

    if(check_user($_COOKIE['utente'], $_COOKIE['password']) {
    //sì l'utente è loggato, mostriamogli la pagina
    }else{
    require("paginadilogin.php");
    }

    bene questo controlla che l'utente sia loggato, capito più o meno? penso che scriverò una pillola...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    281
    Originariamente inviato da php_34
    si purtroppo non esiste (credo) una documentazione in linea, basta ingegnarsi un po'. Prendi d'esempio il cutenews, uno script ottimo per le news senza database mysql, e che usa i files di testo. Per esempio facciamo che un file di testo è strutturato così:

    le righe di utenti.php
    [list=1][*]<?php die("
    <font color="red">ATTENZIONE!!</font>
    Non hai i permessi per accedere a questo file!!"); ?>[*]utente 1[--]password md5 dell'utente 1[*]utente 2[--]password md5 dell'utente 2[*]utente 3[--]password md5 dell'utente 3[/list=1]

    il testo in grassetto lo chiamiamo separatore, la prima riga serve a mostrare all'utente un messaggio d'errore.

    supponiamo di voler fare qualcosa per il login, con mysql normalmente si userebbe mysql_fetch_rows, o altre funzioni.
    Come facciamo con i file di testo? Allora:
    questo è il file index.php:

    <?php
    function check_user($user, $md5pwd) {
    $result = FALSE;
    $users_db = file("users.php");
    foreach($users_db as $line) {
    $user_b = explode("[--]", $line);
    if($user_b[0] == $user && $user_b[1] == $md5pwd) {
    $result = TRUE;
    break; //diminuiamo il tempo di esecuzione, anche di poco
    }
    return $result;
    }


    VVoVe: COSA AVRO' SCRITTO??
    esaminiamo questo codice:
    $users_db = file("users.php");
    questo fa sì che si crei un array con in ogni riga un utente (ricordate users.php?)
    foreach($users_db as $line) {
    esegue le operazioni per ogni elemento dell'array.
    $user_b = explode("[--]", $line);
    con explode dividiamo le varie informazioni e infine con un if vediamo se sono corrette.
    andiamo avanti:

    if(check_user($_COOKIE['utente'], $_COOKIE['password']) {
    //sì l'utente è loggato, mostriamogli la pagina
    }else{
    require("paginadilogin.php");
    }

    bene questo controlla che l'utente sia loggato, capito più o meno? penso che scriverò una pillola...
    guarda, temo che più chiaro di così sia impossibile......
    visto che stanotte dovrò stare sveglio a studiarmi sta roba qua, dopo lo stampo e me lo rileggo

    una sola cosa nn ho capito, se devo modificare una voce, cancellarne una, o inserirne una nuova, come si fa?

  4. #4
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    crei una nuova riga nel file e accodi il testo. (mo che faccio la pillola domani pomeriggio)

  5. #5
    ehm in realtà esiste una sorta di database tu txt, o meglio scrive su txt utilizzando la classica struttura delel query mysql, appena trovo il link al progetto ve lo passo.
    Se vi interessa questo sito:
    http://www.lordcoste.altervista.org/tel/
    è fatto con quella classe.

    si chiama txtsql, fino a poco tempo fa c'era tutta la documentazione online, ora bisogna scaricarla, cerco il link e posto
    ciaaaaau

    allora ho trovato qualcosa:
    il sito ufficiale era questo:
    http://chibiguy.dotgeek.org/
    ma a chiuso
    però rimane online qui:
    http://sourceforge.net/projects/txtsql

    unica nota: la versione 3.0 beta aveva qualche bug, mentre nella 2.2 final mancava qualche funzione inserita invece nella 3, quidni avevo utilizzato la 2.2 aggiungendo le funzioni della 3 che mi servivano.
    Spero vi siano utili queste informazioni
    ciaaaao

  6. #6

    File di testo come database

    Io personalmente odio i database, e cerco solo file di testo, che facciano lo stesso uso. non e importante come lo chiami, l'importante e che sostituisca il db. lo puoi chiamare come vuoi. basta che abbia l'estensione txt.
    trovi moltissimi script con file di testo come db. anche dei blog interi, con tanto di guestbook, forum, news, ecc...
    basta farti un giro. e vedere un pò.
    con file ti testo pèuoi trovare qualsiasi script, e non sono da meno di db, o mySql.
    Severino

  7. #7
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    leggete questa "pillola" che ho fatto:

    http://forum.html.it/forum/showthrea...hreadid=907462

    cmq valvasev ha ragione: ci sono interi script commerciali senza db su file di testo, tipo il cutenews.
    [edit]: quasi quasi ne creo una io di classe con db file di testo..

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.