팁/튜토리얼

FileHandler::getRealPath($source)

2015.08.27 06:41
818
1
0

정의 위치

  • ./classes/file/FileHandler.class.php

정의 내용

/**
 * Changes path of target file, directory into absolute path
 *
 * @param string $source path to change into absolute path
 * @return string Absolute path
 */
function getRealPath($source)
{
    if(strlen($source) >= 2 && substr_compare($source, './', 0, 2) === 0)
    {
        return _XE_PATH_ . substr($source, 2);
    }

    return $source;
}

 

파라메터

  • string $source : 절대 경로를 알고 싶은 경로 문자열. './' 로 시작하는 경로를 입력할 경우 XE Core 의 경로를 포함해서 반환된다.

용도

  • XE Core 의 index.php 위치를 기준으로한 상대 경로를 절대 경로로 변경하고 싶을 때 사용.

예제

  • ./classes/file/FileHandler.class.php 파일 중 writeFile()
    • /**
       * Write $buff into the specified file
       *
       * @param string $filename Path of target file
       * @param string $buff Content to be written
       * @param string $mode a(append) / w(write)
       * @return void
       */
      function writeFile($filename, $buff, $mode = "w")
      {
          $filename = self::getRealPath($filename);
          $pathinfo = pathinfo($filename);
          self::makeDir($pathinfo['dirname']);

          $flags = 0;
          if(strtolower($mode) == 'a')
          {
              $flags = FILE_APPEND;
          }

          @file_put_contents($filename, $buff, $flags|LOCK_EX);
          @chmod($filename, 0644);
      }

       

댓글 0