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

    Problema con modifica file

    Ciao ragazzi, ho avuto un piccolo probblemino con uno script.
    Questo dovrebbe aprire un file di configurazione, (che contiene delle variabili globali), e dopo averlo scritto dentro una textarea dia la possibilità all'utente di modificarlo e sovrascriverlo.

    Intanto vi chiedo se posso farlo con l'attributo di lettura 'w' oppure no comunque, il sorgente che ho creato apre correttamente il file ma quando deve sovrascriverlo, mi cancella tutto il contenuto del file, lasciandolo vuoto.
    Il sorgente è il seguente, se gli potete dare un'occhiata.

    <?php
    $filename="..//config.php";
    if(isset($_POST['testo'])){
    if(is_writable($filename)){
    if(!$handle=fopen($filename,"w")){
    echo"
    <h2>Non riesco ad aprire il file $filename</h2>";
    exit;
    }
    if(!fwrite($handle,$_POST['testo'])==FALSE){
    echo"
    <h2>Non riesco a scrivere sul file $filename</h2>";
    exit;
    }
    echo"Il file $filename è stato aggiornato";
    fclose($handle);
    }else echo"
    <h2>Il file $filename è protetto da scrittura</h2>";
    }else{
    if(!$handle=fopen($filename,"r"))
    exit;
    echo"<html><head></head><body><h2>Modifica $filename</h2>

    ";
    echo"<form action=\"configuraphp.php\" method=\"post\">";
    echo"<textarea name=\"testo\" cols=\"100\" rows=\"25\">";
    $testo=fread($handle,filesize($filename));
    fclose($handle);
    echo $testo;
    echo"</textarea>
    <input type=\"submit\" value=\"Modifica\"></form>";
    echo"</body></html>";
    }
    ?>

    Grazie

  2. #2
    Utente bannato
    Registrato dal
    May 2006
    Messaggi
    160
    che bello, tutti quegli if uno dietro l'altro che si tengono la manina.. :rollo:

  3. #3
    in un script che uso io al posto della w ho la a e mi funziona tutto perfettamente.

    ti posto los cript così vedi:

    Codice PHP:
    if (is_writable($filename)) {
                
        
                    if (!
    $handle fopen($filename'a')) {
                         print 
    "Cannot open file ($filename)";
                         exit;
                    }
                
                    
                    if (!
    fwrite($handle$contents)) {
                        print 
    "Cannot write to file ($filename)";
                        exit;
                    }
                    
                    
    fclose($handle);
                                    
                } else {
                    print 
    "The file $filename is not writable";
                } 

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  4. #4
    Ciao Mix grazie x l'aiuto cmq mettendo come metodo 'a' non mi sostituisce il file ma aggiunge le modifiche alla fine del file, l'attribbuto 'w' era corretto il problema risiedeva in questa istruzione if(!fwrite($handle,$_POST['testo'])==FALSE)
    non andava messo ==FALSE togliendo questo pezzo di codice lo script funziona correttamente.
    Grazie

  5. #5
    Originariamente inviato da Fedayn
    che bello, tutti quegli if uno dietro l'altro che si tengono la manina.. :rollo:
    :maLOL: :maLOL: :maLOL: :maLOL: :maLOL: :maLOL: :maLOL: :maLOL: :maLOL: :maLOL:

  6. #6
    (della serie che cavolata, accorgersene prima......, anche a me è successo un casino di volte..)

    non me n'ero accorto neanchio del FALSE, coem cosa non và mai messa, se vuoi controllare che una cosa sia false basta che la inverti con l'operatore !, cioè se uan cosa è true diventa false e se è false diventa true, quindi essendo che l'if controlla se un istruzione è true, se tu ci metti un ! fai diventare un istruzione false true.

    Ciauz

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

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.