unwritableFile() 공개 정적인 메소드

public static unwritableFile ( $path )
예제 #1
0
 protected function doDatabaseSqliteCheck($config)
 {
     if (!$this->sqliteLoaded) {
         throw LowLevelDatabaseException::missingDriver('SQLite', 'pdo_sqlite');
     }
     // If in-memory connection, skip path checks
     if (isset($config['memory']) && $config['memory'] === true) {
         return;
     }
     // If the file is present, make sure it is writable
     $file = $config['path'];
     if (file_exists($file)) {
         if (!is_writable($file)) {
             throw LowLevelDatabaseException::unwritableFile($file);
         }
         return;
     }
     // If the file isn't present, make sure the directory
     // exists and is writable so the file can be created
     $dir = dirname($file);
     if (!file_exists($dir)) {
         throw LowLevelDatabaseException::nonexistantFolder($dir);
     }
     if (!is_writable($dir)) {
         throw LowLevelDatabaseException::unwritableFolder($dir);
     }
 }
예제 #2
0
 protected function doDatabaseSqliteCheck($config)
 {
     if (!$this->sqliteLoaded) {
         throw LowLevelDatabaseException::missingDriver('SQLite', 'pdo_sqlite');
     }
     // If in-memory connection, skip path checks
     if (isset($config['memory']) && $config['memory'] === true) {
         return;
     }
     // If the file is present, make sure it is writable
     $file = $config['path'];
     if (file_exists($file)) {
         if (!is_writable($file)) {
             throw LowLevelDatabaseException::unwritableFile($file);
         }
         return;
     }
     // If the file isn't present, make sure the directory
     // exists and is writable so the file can be created
     $dir = dirname($file);
     if (!file_exists($dir)) {
         // At this point, it is possible that the site has been moved and
         // the configured Sqlite database file path is no longer relevant
         // to the site's root path
         $cacheJson = $this->config->getPath('cache/config-cache.json');
         if (file_exists($cacheJson)) {
             unlink($cacheJson);
             $this->config->app['config']->initialize();
             $config = $this->config->app['config']->get('general/database');
             if (!file_exists(dirname($config['path']))) {
                 throw LowLevelDatabaseException::nonexistantFolder($dir);
             }
         } else {
             throw LowLevelDatabaseException::nonexistantFolder($dir);
         }
     }
     if (!is_writable($dir)) {
         throw LowLevelDatabaseException::unwritableFolder($dir);
     }
 }