Visualizzazione dei risultati da 1 a 2 su 2

Discussione: problema fwrite

  1. #1

    problema fwrite

    Salve a tutti

    Ho questo codice, che praticamente serve a copiare da un file tutte le righe tranne la prima, per utilizzarla poi nello script. Il file da cui leggo č formato da una decina di linee in cui sono scritte stringhe senza spazi lunghe una ventina di caratteri

    Il problema č che il file creato (il _temp) č vuoto. Non riesco a capirne il motivo, dato che nč il fopen nč il fwrite danno errore, e le linee sono lette correttamente :master:
    Codice PHP:
            $rlist=fopen($list,"r");
            
    $newlist fopen($list."_temp","w+");
            
    $isfirstline true;
            while(!
    feof($rlist))
            {
                
    $linea fgets($rlist255);
                echo 
    $linea."
    "
    ;
                if (
    $linea="") { die("Lista vuota."); }
                if (
    $isfirstline == true) {
                    
    $isfirstline false;
                    
    $toparse_name $linea;
                } else {
                    if (!
    fwrite($newlist$linea)===FALSE) die ("Impossibile scrivere nel file.");
                }
            }
            
    fclose($rlist);
            
    fclose($newlist); 
    Sono in locale (Windows, php5, apache2), ho provato con w, w+ e a ma nulla da fare, non riesco proprio a scrivere nel file

    EDIT: inoltre, ho notato che anche la variabile "$toparse_name" risulta vuota, anche se la condizione viene raggiunta 1 sola volta come dev'essere, ma non gli viene assegnato il valore $linea o_O come mai?

    Grazie in anticipo

  2. #2
    nvm, ho risolto io
    se qualcuno dovesse avere lo stesso problema, ho cambiato il codice in questo modo e funziona perfettamente:

    Codice PHP:
            $f_arr file($list);
            
    $newlist fopen($list."_temp","w");
            
    $isfirstline true;
            
    $count count($f_arr);
            for(
    $i=0$i<$count$i++)
            {
                
    $f_arr[$i] = trim($f_arr[$i]);
                if (
    $isfirstline == true) {
                    
    $isfirstline false;
                    
    $toparse_name $f_arr[$i];
                } else {
                    
    fwrite($newlist,$f_arr[$i] . "\n");
                }

            } 

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.