PHP: Classe personalisé pour traiter un fichier

Author:
 
 0){ 
            $args = func_get_args(); 
            $this->thepath = $args[0]; 
        } 
    } 


    //A function to open the file. 

    private function openfile ($readorwrite){ 
    //First, ensure the file exists. 
    try { 
        if (file_exists ($this->thepath)){ 
            //Now, you need to see if you are reading or writing or both. 
            $proceed = false; 
            if ($readorwrite == "r"){ 
                if (is_readable($this->thepath)){ 
                    $proceed = true; 
                } 
            } elseif ($readorwrite == "w"){ 
                if (is_writable($this->thepath)){ 
                    $proceed = true; 
                } 
            } else { 
                if (is_readable($this->thepath) && is_writable($this->thepath)){ 
                    $proceed = true; 
                } 
            } 
            try { 
                if ($proceed){ 
                    //You can now attempt to open the file. 
                    try { 
                        if ($filepointer = fopen ($this->thepath, $readorwrite)){ 
                            return $filepointer; 
                        } else { 
                            throw new exception (self::OPENERROR); 
                            return false; 
                        } 
                    } catch (exception $e) { 
                        echo $e->getmessage(); 
                    } 
                } else { 
                    throw new exception (self::PERMERROR); 
                } 
            } catch (exception $e) { 
                echo $e->getmessage(); 
            } 
        } else { 
            throw new exception (self::FOUNDERROR); 
        } 
    } catch (exception $e) { 
        echo $e->getmessage(); 
    } 
    } 
    
    //A function to close a file. 
    function closefile () { 
    try { 
    if (!fclose ($this->thepath)){ 
    throw new exception (self::CLOSEERROR); 
    } 
    } catch (exception $e) { 
    echo $e->getmessage(); 
    } 
    } 
    
    //A function to read a file, then return the results of the read in a string. 
    
    public function read () { 
    //First, attempt to open the file. 
    $filepointer = $this->openfile ("r"); 
    
    //Now, return a string with the read data. 
    
    
    if ($filepointer != false){ 
    //Then you can read the file. 
    return fread ($filepointer,filesize ($this->thepath)); 
    
    } 
    
    //Lastly, close the file. 
    $this->closefile (); 
    } 
    
    
    //A function to write to a file. 
    
    public function write ($towrite) { 
    //First, attempt to open the file. 
    $filepointer = $this->openfile ("w"); 
    
    
    //Now, return a string with the read data. 
    
    if ($filepointer != false){ 
    //Then you can read the file. 
    return fwrite ($filepointer, $towrite); 
    
    
    } 
    
    //Lastly, close the file. 
    $this->closefile (); 
    } 
    
    
    //A function to append to a file. 
    
    public function append ($toappend) { 
    //First, attempt to open the file. 
    $filepointer = $this->openfile ("a"); 
    
    
    //Now, return a string with the read data. 
    
    if ($filepointer != false){ 
    //Then you can read the file. 
    return fwrite ($filepointer, $toappend); 
    
    
    } 
    
    //Lastly, close the file. 
    $this->closefile (); 
    } 
    
    
    //A function to set the path to a new file. 
    public function setpath ($newpath) { 
    $this->thepath = $newpath; 
    } 
    

} 

?> 


read(); 


//Then let's try writing to the file. 
$myfile->write ("Hello World!"); 


//Then, let's try appending. 
$myfile->append ("Hello Again!"); 


?>
  
  

Leave a Reply

Your email address will not be published. Required fields are marked *