コード例 #1
0
ファイル: System.php プロジェクト: Artea/freebeer
 function _init()
 {
     global $_SERVER;
     // < 4.1.0
     if (fbSystem::isCLI()) {
         fbSystem::_initCLI();
         return;
     }
     // IIS doesn't provide $_SERVER['SCRIPT_FILENAME']
     if (!isset($_SERVER['SCRIPT_FILENAME'])) {
         if (isset($_SERVER['SCRIPT_NAME']) && $_SERVER['DOCUMENT_ROOT']) {
             $_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_NAME'];
         } else {
             $_SERVER['SCRIPT_FILENAME'] = '';
         }
     }
     // IIS doesn't provide $_SERVER['REQUEST_URI']
     if (!isset($_SERVER['REQUEST_URI']) && isset($_SERVER['PHP_SELF'])) {
         $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];
         if (isset($_SERVER['PATH_INFO'])) {
             $_SERVER['REQUEST_URI'] .= $_SERVER['PATH_INFO'];
         }
         if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']) {
             $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
         }
     }
     if (!isset($_SERVER['REQUEST_URI'])) {
         $_SERVER['REQUEST_URI'] = '';
     }
     $dir = trim(ini_get('upload_tmp_dir'));
     if (!$dir || !@is_dir($dir) || !is_writable($dir)) {
         @ini_set('upload_tmp_dir', fbSystem::tempDirectory());
     }
     $dir = trim(ini_get('session.save_path'));
     if (!$dir || !@is_dir($dir) || !is_writable($dir)) {
         @ini_set('session.save_path', fbSystem::tempDirectory());
     }
 }