function is_cli_mode() {
$sapi_type = php_sapi_name();
if (isset($sapi_type) && substr($sapi_type, 0, 3) == 'cli') {
return true;
} else {
return false;
}
}
/**
* 调试函数,以文件的形式把变量记录到一个文件里
* @param var $text 要记录到文件的变量
* @param bool $save_req_params 是否需要记录request提交的变量
* @param string $debug_sign 调试的变量标志符,例如'UserModel'.__LINE__
* */
function debug_dump($text,$save_req_params=false,$debug_sign='')
{
$logdir=HOME_PATH.'Files/';
if(!is_dir($logdir))return false;
if(!is_writeable($logdir))@chmod($logdir,0777);
if(!is_writeable($logdir))return false;
$debug_info = debug_backtrace();
$arr_file_info = pathinfo($debug_info[0]['file']);
$debug_message = $arr_file_info['filename']. '__'.$debug_info[0]['line'];
$file_mark = $debug_sign=='' ? $debug_message : $debug_sign;
$logfilename = $logdir.'dump_' . date('Ymd_').$file_mark . '.txt';
$_stamp = '';
if(!is_cli_mode()){
$_stamp .= "-------------------------------------------------------------".PHP_EOL;
$_stamp .= $_SERVER['REQUEST_URI'].':'.date('Y-m-d H:i:s').PHP_EOL;
$_stamp .= $file_mark.PHP_EOL;
if($save_req_params){
$_stamp .= json_encode($_REQUEST,JSON_UNESCAPED_UNICODE).PHP_EOL;
}
$_stamp .= "-------------------------------------------------------------".PHP_EOL;
}
ob_start();
echo '<pre>';
print_r($text);
$str = ob_get_contents();
$str .= PHP_EOL;
$str .= $_stamp;
$str = preg_replace("/^<pre>/",'',$str);
ob_end_clean();
file_put_contents($logfilename, $str, FILE_APPEND);
}
/**
* 调试打印在页面上
* */
function debug_print($text,$is_exit=true)
{
$_stamp = '';
$_stamp .= "-------------------------------------------------------------".PHP_EOL;
$_stamp .= $_SERVER['REQUEST_URI'].PHP_EOL;
$_stamp .= "-------------------------------------------------------------".PHP_EOL;
ob_start();
echo '<pre>';
print_r($text);
$str = ob_get_contents();
$str .= "\n\n";
$str .= $_stamp;
ob_end_clean();
echo $str;
if($is_exit)exit;
}