Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • 文件加载器

    post by onelong / 2010-11-10 1:25 Wednesday [php]

    如何将gzip技术运用的更好呢 ?前天突然有个想法,那就是做一个文件加载器 啦!通过文件加载器可以对css,javascript等外部文件进行压缩处理!看看代码啦,希望有经验的朋友提点建议啦!

    //load_file.php

     

    <?php 

    if (empty($_GET["f"]))

    return ;

    $fileName = $_GET['f'];

    $fileName=trim($fileName);

    ob_start('ob_gzip'); 

    echo getFile($fileName);

    ob_end_flush();

    //压缩函数 

    function ob_gzip($content){ 

    if(!headers_sent()

    &&extension_loaded("zlib")

    &&strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")){

    $content = gzencode($content,9); 

    header("Content-Encoding: gzip"); 

    header("Vary: Accept-Encoding"); 

    header("Content-Length: ".strlen($content)); 

    return $content; 

    }

    function getFile($url){

    if(count(trim($url))>0){

    $temp = file_get_contents($url);

    }else

    $temp = '';

    return $temp;

    }

    ?>

    如何使用这个加载器呢?看下面的代码啦!

    //test.php

     

    <html>

    <head>

    <script type='text/javascript' src=file_load.php?f=jquery.js></script>

    <link href=file_load.php?f=st.css rel="stylesheet" type="text/css" />

    </head>

    <body>

    <h1>It works!</h1>

    <script type='text/javascript'>

    $(document).ready(function(){

    $('h1').html("I love you ");

    });

    </script>

    <p>This is the default web page for this server.</p>

    <p>The web server software is running but no content has been added, yet.</p>

    </body>

    </html>

    这是一个简单的实例!其实我还有另一个想法,那就是将css,javascript直接动态的放到页面中去!seo优化又是一个问题了,不过自己权衡吧!

    引用地址:
     

    我要评论