PDA

View Full Version : كلاس لاگ



MRmoon
شنبه 08 تیر 1392, 19:37 عصر
اين كلاس اطلاعات رو در يه فايل text تو پوشه ي مورد نظر شما ذخيره ميكنه و موقعي كه خواستين براتون ميخونه....

مثلا شما ميتونين زمان وصل شدن به ديتابيس و كويري هايي رو كه گرفتين با اين كلاس ذخيره كنين.


دوستان لطفا نظراتشون رو نسبت به اين كلاس بگن....

<?PHP
class log{
/**
* @var string log's folder name
* @access private
*/
private $_log_folder;
/**
* @var string log's file name
* @access private
*/
private $_log_file;
/**
* Set date default time zone
* @param strin $time_zone
*/
function __construct($time_zone = "Asia/Tehran")
{
date_default_timezone_set($time_zone);
}
/**
* Set logs folder
* @param string $folder
* @return bool
*/
function Set_log_folder($folder)
{
$this->_log_folder = $folder;
if(!$this->chek_folder())
{
$this->make_log_folder();
}
return true;
}
/**
* Get log's folder
* @return string
*/
function Get_log_folder()
{
return "log_".$this->_log_folder;
}
/**
* Chek log's folder exists
* @return bool
*/
function chek_folder()
{
return file_exists($this->Get_log_folder());
}
/**
* Make a log folder
* @return null
*/
function make_log_folder()
{
mkdir($this->Get_log_folder());
$this->make_htaccess();
}
/**
* Make htaccess file
*/
function make_htaccess()
{
$file = fopen($this->Get_log_folder()."/.htaccess","w");
fwrite($file,"Deny from all");
fclose($file);
}
/**
* Set log's file name
* @param string $file
* @return bool
*/
function Set_log_file($file)
{
$this->_log_file = $file;
if(!$this->chek_file())
$this->make_log_file();
return TRUE;
}
/**
* Chek log's file exists?
* @return bool
*/
function chek_file()
{
return file_exists($this->Get_log_folder()."/".$this->Get_log_file());
}
/**
* Create log file
* @return null
*/
function make_log_file()
{
$file = fopen($this->Get_log_folder()."/".$this->Get_log_file(),"w");
fclose($file);
}
/**
* Get log's file name
* @return string
*/
function Get_log_file()
{
return $this->_log_file.".txt";
}
/**
* Add log
*
*/
function addlog($log)
{
$log = "[".date("Y-M-d h:m:s")."]".$log.".";
$file = fopen($this->Get_log_folder()."/".$this->Get_log_file(),"a");
fwrite($file,$log."\r\n");
fclose($file);
}
function clear()
{
$file = fopen($this->Get_log_folder()."/".$this->Get_log_file(),"w");
fclose($file);
}
/**
* Show log
* @return string
* @access public
*/
function showlog()
{
$file = file_get_contents($this->Get_log_folder()."/".$this->Get_log_file());
return str_replace("\r\n","<hr/>\n",$file);
}
function __destruct()
{
// Some code
}
}
//Usage

//Create object from class
$log = new log;
// Set log file and folder
$log->Set_log_folder("database");
$log->Set_log_file("database");
// Add log
$log->addlog("<br/>");
// Show log
echo $log->showlog();

?>
نحوه ي استفاده هم آخرش گزاشتم .....

توضيح خواستين بگين...

و مهمتر از همه نظراتتون در موردش.