コード例 #1
0
 /**
  * Include php files with TTL expiration
  * 
  * Use phpInclude to load PHP files dinamically, also with cache
  * 
  * @param  string  Varname
  * @param  string  File tyo include
  * @param  integer  time to life for saved files (blank or '0', disable cache)
  * @return string   Return PHP file
  */
 public static function phpInclude($name, $file, $ttl = '')
 {
     $fcontents = "";
     if (substr($file, 0, 1) != "/") {
         $file = $_SERVER["DOCUMENT_ROOT"] . "/" . $file;
     }
     if (self::test($name) === FALSE || $ttl == 0) {
         if (file_exists($file)) {
             $fcontents = file_get_contents($file);
         }
         $fcontents = str_replace('<' . '?php', '', $fcontents);
         $fcontents = str_replace('?>', '', $fcontents);
         self::set($name, $fcontents);
         self::set($name . "@ttl", $ttl == '' ? 0 : time() + $ttl);
         return $fcontents;
     } else {
         $fcontents = self::get($name);
         $fcontentsTTL = self::get($name . "@ttl");
         if ($fcontentsTTL != 0 && $fcontentsTTL > time()) {
             self::clear($name);
             return sef::phpInclude($name, $file, $ttl);
         } else {
             if ($fcontents === FALSE) {
                 $fcontents = "";
             }
         }
         return $fcontents;
     }
 }