PHP Classes

File: server.php

Recommend this page to a friend!
  Classes of Steeven Lim   o2system   server.php   Download  
File: server.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: o2system
Start projects using the with O2System Framework
Author: By
Last change:
Date: 3 years ago
Size: 1,473 bytes
 

Contents

Class file image Download
<?php
/**
 * This file is part of the O2System PHP Framework package.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @author Steeve Andrian Salim
 * @copyright Copyright (c) Steeve Andrian Salim
 */
// ------------------------------------------------------------------------
$uri = urldecode(
   
parse_url($_SERVER[ 'REQUEST_URI' ], PHP_URL_PATH)
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a O2System Framework
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__ . '/public' . $uri)) {
    return
false;
} elseif (
$uri !== '/' && file_exists($filePath = __DIR__ . str_replace('\\', '/', DIRECTORY_SEPARATOR))) {
    if (
strpos(dirname($filePath), 'database') !== false) {
        return
false;
    } elseif (
strpos(dirname($filePath), 'cache') !== false) {
        return
false;
    } elseif (
is_file($filePath)) {
       
header('Content-Disposition: filename=' . pathinfo($filePath, PATHINFO_BASENAME));
       
header('Content-Transfer-Encoding: binary');
       
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
       
header('Content-Type: ' . filemtime($filePath));
        echo
readfile($filePath);
        exit(
0);
    }
}

require_once
__DIR__ . '/public/index.php';