分享一篇关于php fopen实现mysql错误日志记录用法,因为数据库出错了我们肯定不能把错误日志保存到数据库了,所以我们利用了fopen来记录,实例代码如下:
- $time = date("Y-m-d H:i:s");
- $message = $message . "rn$this->sql" . "rn客户IP:$ip" . "rn时间 :$time" . "rnrn";
-
- $server_date = date("Y-m-d");
- $filename = $server_date . ".txt";
- $file_path = "error/" . $filename;
- $error_content = $message;
-
- $file = "error";
-
-
- if (!file_exists($file)) {
- if (!mkdir($file, 0777)) {
-
- die("upload files directory does not exist and creation failed");
- }
- }
-
-
- if (!file_exists($file_path)) {
-
-
- fopen($file_path, "w+");
-
-
- if (is_writable($file_path)) {
-
- if (!$handle = fopen($file_path, 'a')) {
- echo "不能打开文件 $filename";
- exit;
- }
-
-
- if (!fwrite($handle, $error_content)) {
- echo "不能写入到文件 $filename";
- exit;
- }
-
-
-
- echo "——错误记录被保存!";
-
-
- fclose($handle);
- } else {
- echo "文件 $filename 不可写";
- }
-
- } else {
-
- if (is_writable($file_path)) {
-
- if (!$handle = fopen($file_path, 'a')) {
- echo "不能打开文件 $filename";
- exit;
- }
-
-
- if (!fwrite($handle, $error_content)) {
- echo "不能写入到文件 $filename";
- exit;
- }
-
-
- echo "——错误记录被保存!";
-
-
- fclose($handle);
- } else {
- echo "文件 $filename 不可写";
- }
- }
-
- }
|