sbergmann Fri Apr 6 01:28:20 2001 EDT Added files: /php4/pear/Cache URL.php Log: Initial checkin of URL Cache. Index: php4/pear/Cache/URL.php +++ php4/pear/Cache/URL.php <?php /** * URL_Cache * * Purpose: * * Caching the contents of a remote URL. * * Example: * * require_once "Cache/URL.php"; * * $FUNCTION_CACHE_CONTAINER = "file"; * $FUNCTION_CACHE_CONTAINER_OPTIONS = array( * "cache_dir" => "/tmp/", * "filename_prefix" => "cache_"); * * $data = get_cached_url("http://www.test.com/"); * * @author Sebastian Bergmann <[EMAIL PROTECTED]> * @module URL_Cache * @modulegroup URL_Cache * @package Cache * @version $Revision: 1.1 $ * @access public */ // +----------------------------------------------------------------------+ // | PHP version 4.0 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is | // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | [EMAIL PROTECTED] so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Sebastian Bergmann <[EMAIL PROTECTED]> | // +----------------------------------------------------------------------+ // // $Id: URL.php,v 1.1 2001/04/06 08:28:20 sbergmann Exp $ require_once 'Cache.php'; /** * Caches the contents of a remote URL. * * @param string $url * @param mixed $expires * @return string $data * @access public */ function get_cached_url($url, $expires = 0) { global $FUNCTION_CACHE_CONTAINER, $FUNCTION_CACHE_CONTAINER_OPTIONS; static $cache; // create Cache object, if needed if (!is_object($cache)) { $cache = new Cache($FUNCTION_CACHE_CONTAINER, $FUNCTION_CACHE_CONTAINER_OPTIONS); } // generate Cache ID $id = md5($url); // query Cache $data = $cache->get($id); // Cache miss: Retrieve document at given URL and store it if ($data == NULL) { $fp = @fopen($url, "r"); if($fp) { $data = fread($fp, 65536); fclose($fp); $cache->save($id, $data, $expires); } } return $data; } ?> -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]