Visualizzazione dei risultati da 1 a 7 su 7

Discussione: forum

  1. #1

    forum

    Buongiorno a tutti,
    sono nuovo nel linguaggio PHP e sto cercando di impararlo approffittando di SCRIPTS già fatti e fuzionanti.
    Ho installato uno script per gestire un forum senza aver bisogno MySQL.
    Funziona tutto ma nel caso non ci siamo ancora argomenti trattati o senza ancora aver effettuato il login, mi viene visualizzato questo fastidioso warning:

    Warning: fread() [function.fread]: Length parameter must be greater than 0. in (......)/forum/textdb.inc.php on line 255

    la funzione incriminata è così strutturata:

    function listall($db)
    {
    /*
    String: $db
    */
    $r = "";
    $rc = 0;
    $f = fopen("$db.dat", "r");
    $a = fread($f, filesize("$db.dat")); <<<<<<<< funzione incriminata da warning

    fclose($f);
    $a = trim($a);
    $a = explode("\n", $a);
    for($i=0;$i<count($a);$i++)
    {
    if($a[$i] != "")
    {
    $r[$rc] = $a[$i];
    $rc++;
    }
    }
    return $r;
    }

    Qualcuno può essere così gentile da indicarmi dove la funzione viene interpretata in modo non corretto?
    Ringrazio in anticipo

  2. #2

    Re: forum

    Usa file


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Ho provato a sostituire con l'istruzione file ma purtroppo non si sistema, anzi non mi legge più il database.

    Altre possibilità?

  4. #4
    ho verificato anche la forma della funzione e sembra corretta.
    a questo punto, visto che comunque gira tutto bene, mi sta bene che mi dia il warning, meno bene che tutte le volte me lo metta a video.
    c'è un modo per non far visualizzare i warning?

  5. #5
    Codice PHP:
    function listall($db)
    {
        
    /*
        String: $db
        */
        
    $r "";
        
    $rc 0;
        
    $f fopen("$db.dat""r");
        
    $fs filesize("$db.dat");    // salvo in $fs la lunghezza del file
        
    if ($fs 0) {                   // la lunghezza è > di 0? (altrimenti fread va in errore)
            
    $a fread($f$fs);      // leggo il file solo se la lunghezza è > 0
            
    $a trim($a);
            
    $a explode("\n"$a);
            for(
    $i=0;$i<count($a);$i++)  {
                if(
    $a[$i] != "")  {
                    
    $r[$rc++] = $a[$i];
                }
            }
        }
        
    fclose($f);
        return 
    $r;    // Se il file è vuoto, qui $r vale "", altrimenti torna l'array delle righe

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  6. #6
    Originariamente inviato da homezappa
    Codice PHP:
    function listall($db)
    {
        
    /*
        String: $db
        */
        
    $r "";
        
    $rc 0;
        
    $f fopen("$db.dat""r");
        
    $fs filesize("$db.dat");    // salvo in $fs la lunghezza del file
        
    if ($fs 0) {                   // la lunghezza è > di 0? (altrimenti fread va in errore)
            
    $a fread($f$fs);      // leggo il file solo se la lunghezza è > 0
            
    $a trim($a);
            
    $a explode("\n"$a);
            for(
    $i=0;$i<count($a);$i++)  {
                if(
    $a[$i] != "")  {
                    
    $r[$rc++] = $a[$i];
                }
            }
        }
        
    fclose($f);
        return 
    $r;    // Se il file è vuoto, qui $r vale "", altrimenti torna l'array delle righe

    HTH
    Zappa
    Leggere il manuale fà male alla salute
    la stessa cosa di
    Codice PHP:
     $f fopen("$db.dat""r");
      
    $fs filesize("$db.dat"); 
     
    $a fread($f$fs); 
      
    $a explode("\n"$a); 
    la fa file.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    avevo premesso che sono nuovo in PHP e sto facendo lo sforzo di capirlo e metterlo in pratica; ho cercato il costrutto della funzione, ma non avevo trovato niente che rispondesse al mio quesito prima di venire in questo forum

    comunque ora funziona bene

    Grazie

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.