Creating and Using a File Class : fgets « File Directory « PHP

PHP
1. Chart
2. Class
3. Components
4. Cookie Session
5. Data Structure
6. Data Type
7. Date
8. Design Patterns
9. Development
10. DNS
11. Email
12. File Directory
13. Form
14. Functions
15. Graphics Image
16. HTML
17. Language Basics
18. Login Authentication
19. Math
20. MySQL Database
21. Network
22. Operator
23. PDF
24. Reflection
25. Statement
26. String
27. Utility Function
28. Web Services SOAP WSDL
29. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
PHP » File Directory » fgets 
Creating and Using a File Class
 
<?php 

// Copyright 2005, Lee Babin (lee@thecodeshoppe.com) 
// This code may be used and redistributed without charge 
// under the terms of the GNU General Public 
// License version 2.0 or later -- www.gnu.org 
// Subject to the retention of this copyright 
// and GPL Notice in all copies or derived works 


class cfile 

    //The path to the file you want to work with. 
    protected $thepath; 
    
    
    //Error messages in the form of constants for ease of use. 
    const FOUNDERROR = "Sorry, the file in question does not exist."
    const PERMERROR = "Sorry, you do not have the proper permissions on this file"
    const OPENERROR = "Sorry, the file in question could not be opened."
    const CLOSEERROR = "Sorry, the file could not be closed."
    
    
    //The constructor function. 
    public function __construct (){ 
        $num_args = func_num_args()
        
        if($num_args > 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; 
    
    



?> 


<?php 
//Include the class. 
require_once ("file.class.inc.php")
//Then create a new instance of the class. 
$myfile = new cfile ("data.txt")

//Now, let's try reading it. 
echo $myfile->read()


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


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


?>
  
  
Related examples in the same category
1. Checking for an error from fopen(), fgets(), or fclose()
2. Counting paragraphs in a file
3. Counting records in a file
4. Reading a compressed file
5. Reading a file a line at a time
6. fgets() function returns a string read from a file.
7. fgets.php
8. Processing a list of books
9. Processing each word in a file
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.