這個類可以讀取和寫入數據文件。
它可以執行幾種常見的操作,處理文件。
目前,它可以指定數據寫入到一個文件,讀取其中的內容,替換一定的文本在一個文件中的內容,刪除一個文件,並檢查文件是否存在。
在某些情況下,還是需要這類文本資料庫的。
class.dealingfiles.php
<?php
/*
*
*@Project-> PHP , Class dealing with files ;
*
*@Author -> AmineDine ;
*
*@Mail -> AmineBtsr@outlook.com ;
*
*@Facebook -> http://www.facebook.com/Aminebtsr ;
*
*/
define ( 'BASEPATH' , realpath ( dirname ( __FILE__ ) ) . '/' , TRUE ) ;
class DealingFiles
{
/*
*
*Public variable.
*
*/
private static $File ;
/*
*
*Method of dealing with the file.
*
*/
private static $_Method = array
(
'ADD'=> 'a' ,
'WRITE'=> 'w' ,
'READ'=> 'r'
) ;
/*
*
*AddFile ( The file name ) ;
*
*/
public static function AddFile ( $FileName )
{
$FileName = strtolower ( $FileName ) ;
self::$File = fopen ( BASEPATH.$FileName , self::$_Method ['ADD'] ) ;
if ( self::$File )
{
return self::$File ;
}
self::CloseFile () ;
}
/*
*
*WriteFile ( The file name , Text ) ;
*
*/
public static function WriteFile ( $FileName , $Text )
{
$FileName = strtolower ( $FileName ) ;
self::$File = fopen ( BASEPATH.$FileName , self::$_Method ['WRITE'] ) ;
if ( self::$File )
{
if ( strlen ( $Text ) > 0 )
{
$Write = fwrite ( self::$File , $Text ) ;
return $Write ;
}
}
self::CloseFile () ;
}
/*
*
*ReadFile ( The file name , Number of characters that will have on offer starting from zero or ALL ) ;
*
*/
public static function ReadFile ( $FileName , $FileSize )
{
$FileName = strtolower ( $FileName ) ;
self::$File = fopen ( BASEPATH.$FileName , self::$_Method ['READ'] ) ;
if ( self::$File )
{
if ( is_numeric ( $FileSize ) )
{
$Size = $FileSize ;
}
else if ( $FileSize == 'ALL' )
{
$Size = filesize ( $FileName ) ;
}
if ( $Size > 0 )
{
$Read = fread ( self::$File , $Size ) ;
return $Read ;
}
}
self::CloseFile () ;
}
/*
*
*EditFile ( The file name , Text ) ;
*
*/
public static function EditFile ( $FileName , $Text , $Replace )
{
$FileName = strtolower ( $FileName ) ;
self::$File = self::ReadFile ( $FileName , 'ALL' ) ;
if ( strlen ( self::$File ) > 0 )
{
if ( ( strlen ( $Text ) > 0 ) && ( strlen ( $Replace ) > 0 ) )
{
$EditFile = str_replace ( $Text , $Replace , self::$File ) ;
$EditFile = self::WriteFile ( $FileName , $EditFile ) ;
return $EditFile ;
}
}
unset ( $EditFile ) ;
}
/*
*
*CloseFile () ;
*
*/
private static function CloseFile ()
{
fclose ( self::$File ) ;
}
/*
*
*RemoveFile ( The file name ) ;
*
*/
public function RemoveFile ( $FileName )
{
$FileName = strtolower ( $FileName ) ;
if ( self::FileExs ( $FileName ) )
{
unlink ( BASEPATH.$FileName ) ;
return ;
}
}
/*
*
*FileExs ( The file name ) ;
*
*/
public static function FileExs ( $FileName )
{
$FileName = strtolower ( $FileName ) ;
return ( boolean ) file_exists ( BASEPATH.$FileName ) ? TRUE : FALSE ;
}
}
class Load
{
/*
*
*Files variable.
*
*/
public $Files ;
/*
*
*Run DealingFiles class.
*
*/
public function __construct ()
{
$this->Files = new DealingFiles () ;
return $this->Files ;
}
}
?>
index.php
<?php
/*
*
*@Project-> PHP , Class dealing with files ;
*
*@Author-> AmineDine ;
*
*@Mail-> Minousta@outlook.fr ;
*
*@Facebook-> http://www.facebook.com/aminebtrs ;
*
*/
/*
*
*Inlude Class ;
*
*/
include ( './class.dealingfiles.php' ) ;
/*
*
*Run the Class ;
*
*/
$Run = new Load () ;
/*
*
*Object add file ;
*
*/
//$Run->Files->AddFile ( 'test.txt' ) ;
/*
*
*Object read file ;
*
*Parameter second use ALL or numbers ;
*
*/
//echo $Run->Files->ReadFile ( 'test.txt' , 'ALL' ) ;
/*
*
*Object write in file ;
*
*/
//$Run->Files->WriteFile ( 'test.txt' , 'Bentsair Boutaleb Amine' ) ;
/*
*
*Object edit file ;
*
*/
//$Run->Files->EditFile ( 'test.txt' , 'Amine' , 'Mohamed' ) ;
/*
*
*Object remove file ;
*
*/
//$Run->Files->RemoveFile ( 'test.txt' ) ;
?>
|