Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [PHP] Errore fread

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154

    [PHP] Errore fread

    Ciao a tutti!

    Usando questa funzione in php:
    Codice PHP:
    function txt_to_array($file)
    {
        
    $var fopen($file"r");
        
    $length filesize($file);
        
    $string fread($var$length );
        
    $array explode("|"$string);
        
    fclose($var);
        return 
    $array;
        } 
    Riporta il seguente errore:
    Codice PHP:
     Warningfread() [[url='function.fread']function.fread[/url]]: Length parameter must be greater than 0 
    Il file tuttavia non è vuoto, occupa 1 kb. Idee? D: Thankss
    Mess with the best die like the rest.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Prova a stampare a video il contenuto di $length, vedi se effettivamente contiene un numero maggiore di 0.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154
    Ma l'errore lo da all'interno della funzione: quando il file è ancora una variabile. Comunque ho controllato tutti i file sui quali uso la funzione e sono tutti "pieni" .. :/
    Mess with the best die like the rest.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    A te l'errore lo da su questa istruzione
    $string = fread($var, $length );

    prima di questa e dopo
    $length = filesize($file);

    metti un
    exit(print($length));

    e vedi cosa viene stampato sulla pagina.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154
    Così?
    Codice PHP:
    $var fopen("msg.txt""r");
        
    $length filesize("msg.txt");
        exit(print(
    $length));
        
    $string fread($var$length );
        
    $array explode("|"$string);
        
    fclose($var);
        
        exit(print(
    $length));
        echo 
    "</br>".$array[1]; 
    Mess with the best die like the rest.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Basta solo il primo di exit() dato che la fread() ti da errore, al secondo non ci arriveresti e comunque exit() ferma l'esecuzione dello script.

    Cosa stampa?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154
    Codice PHP:
    11 
    :/
    Mess with the best die like the rest.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154
    http://paste2.org/p/1865174

    Segnala l'errore nella riga 45 :/

    Potrebbe essere che da l'errore perché ancora non è specificato il file? (all'interno della funzione)
    Mess with the best die like the rest.

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Prova aprendo il file con r+ invece che con r.

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.