Example #1
0
    $file_requested = implode($segments, '/');
    
    $bundle_folder  = APP_PATH . "/core/bundles/" . $segments[0];
    $file = APP_PATH . "/core/bundles/" . $file_requested;

    $file = realpath($file);
    
    // prevent bad access of files
    if (strpos($file_requested, '../') !== false || File::getExtension($file) === 'php') {
        $app->pass();
        return;
    }

    if (Folder::exists($bundle_folder) && File::exists($file)) {
        // determine mime type
        $mime = File::resolveMime($file);

        // set last modified header
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

        // if configured, set expires header
        if (Config::get('http_cache_expires', false)) {
            header("Expires: " . gmdate("D, d M Y H:i:s", strtotime('+' . Config::get('http_cache_expires', '30 minutes'))) . " GMT");
        }

        // set mime-type
        header("Content-type: {$mime}");
        
        // read it out
        readfile($file);