Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    controllare se un txt è vuoto...help

    Ciao...

    uso un txt come database.
    Come faccio a far controllare se nel file non c'è scritto niente?

    Per la lettura faccio così:

    Codice PHP:
    $filename "./db.txt";
    $handle fopen($filename"r");
    $file fread($handlefilesize($filename));
    fclose($handle);
    $righe=explode("§",$file);
    foreach(
    $righe as $v)
    {
    list(
    $nome$cognome$email$annuncio$data$orario) = explode ("|"$v);

    ........
    ........



  2. #2
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    codice:
    fclose($handle);
    if( empty(trim($file)) ){
       echo "è vuoto!";
    }
    else{
       $righe=explode("§",$file);
       ....
    }
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  3. #3
    potresti anche controllare solo su filesize
    if (filesize($filename)) {
    ...
    }
    visitate http://camicio.altervista.org per caxxate varie :d

  4. #4
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Originariamente inviato da camicio109
    potresti anche controllare solo su filesize
    if (filesize($filename)) {
    ...
    }
    se il file di testo contenesse un a capo però non funzionerebbe, credo
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  5. #5
    si non funzionerebbe... perchè l'accapo occupa spazio... anche se minimo lo occupa...

  6. #6
    Grazie...perfetto

    Ora c'è un piccolo problemino..
    Allora il codice che serve per memorizzare i dati del file txt è:

    Codice PHP:
    $data date("d/m/Y");
    $orario date("H:i");

    {
    $inserimento "|§$nome|$cognome|$email|$annuncio|$data|$orario";}

    $filename "db.txt";
    $fp fopen ($filename"a+");
    $scrivi fwrite ($fp$inserimento);

    header("Location: annunci.php"); 
    e quello che li fa visualizzare:

    Codice PHP:
    $filename "./db.txt";
    $handle fopen($filename"r");
    $file fread($handlefilesize($filename));
    fclose($handle);
    if( empty(
    $file) ){
       echo 
    "<center><font face='Verdana' color='5275AD' size='2'>[b]Non ci sono messaggi.[/b]</font></center>
    "
    ;
    }
    else{
    $righe=explode("§",$file);
    foreach(
    $righe as $v)
    {
    list(
    $nome$cognome$email$annuncio$data$orario) = explode ("|"$v);
    echo 
    "nome: ".$nome;
    echo 
    "cognome: ".$cognome;
    }

    Quindi nel file txt i dati appaiono in questo modo

    |§nome|cognome|mail|annuncio|27/08/2004|17:55|§nome2|cognome2|mail2|annuncio2|27/08/2004|17:55
    eccetera...

    Quando li vado a visualizzare, va tutto bene, solo che prima del primo messaggio mi fa una riga vuota, come se li volesse visualizzare ma non li trova, cioè appare così:

    nome:
    cognome:

    nome: nome1
    cognome: cognome1

    nome: nome2
    cognome: cognome2

    A cosa è dovuto questo?

    Ho provato a cambiare sintassi di inserimento, cioè invece di:

    $inserimento = "|§$nome|$cognome|$email|$annuncio|$data|$orar io";
    ho messo
    $inserimento = "$nome|$cognome|$email|$annuncio|$data|$orario |§";
    con |§ alla fine, ma le informazioni vuote poi me le mette alla fine.

    Se invece apro il file.txt e al primo record ci levo |§ che sta all'inizio, va tutto bene, ma questo non mi sembra logico.


  7. #7

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.