1. PHP / Говнокод #22680

    −125

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    public function write_log($level, $msg)
    	{
    		if ($this->_enabled === FALSE)
    		{
    			return FALSE;
    		}
    		$level = strtoupper($level);
    		if (( ! isset($this->_levels[$level]) OR ($this->_levels[$level] > $this->_threshold))
    			&& ! isset($this->_threshold_array[$this->_levels[$level]]))
    		{
    			return FALSE;
    		}
    		$filepath = $this->_log_path.'log-'.date('Y-m-d').'.'.$this->_file_ext;
    		$message = '';
    		if ( ! file_exists($filepath))
    		{
    			$newfile = TRUE;
    			// Only add protection to php files
    			if ($this->_file_ext === 'php')
    			{
    				$message .= "<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>\n\n";
    			}
    		}
    		if ( ! $fp = @fopen($filepath, 'ab'))
    		{
    			return FALSE;
    		}
    		flock($fp, LOCK_EX);
    		// Instantiating DateTime with microseconds appended to initial date is needed for proper support of this format
    		if (strpos($this->_date_fmt, 'u') !== FALSE)
    		{
    			$microtime_full = microtime(TRUE);
    			$microtime_short = sprintf("%06d", ($microtime_full - floor($microtime_full)) * 1000000);
    			$date = new DateTime(date('Y-m-d H:i:s.'.$microtime_short, $microtime_full));
    			$date = $date->format($this->_date_fmt);
    		}
    		else
    		{
    			$date = date($this->_date_fmt);
    		}
    		$message .= $this->_format_line($level, $date, $msg);
    		for ($written = 0, $length = self::strlen($message); $written < $length; $written += $result)
    		{
    			if (($result = fwrite($fp, self::substr($message, $written))) === FALSE)
    			{
    				break;
    			}
    		}
    		flock($fp, LOCK_UN);
    		fclose($fp);
    		if (isset($newfile) && $newfile === TRUE)
    		{
    			chmod($filepath, $this->_file_permissions);
    		}
    		return is_int($result);
    	}

    https://github.com/bcit-ci/CodeIgniter/blob/develop/system/core/Log.php

    люблю с утра обмазаться несвежим пхп

    Запостил: brainstorm, 27 Марта 2017

    Комментарии (3) RSS

    Добавить комментарий