晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/www/crm/libraries/HTTP_Session/Session/ |
Upload File : |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
* Container class for storing session data
*
* PHP version 4
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category HTTP
* @package HTTP_Session
* @author Alexander Radivanovich <info@wwwlab.net>
* @author David Costa <gurugeek@php.net>
* @author Michael Metz <pear.metz@speedpartner.de>
* @author Stefan Neufeind <pear.neufeind@speedpartner.de>
* @author Torsten Roehr <torsten.roehr@gmx.de>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
* @version CVS: $Id: Container.php,v 1.8 2007/07/14 12:11:54 troehr Exp $
* @link http://pear.php.net/package/HTTP_Session
* @since File available since Release 0.4.0
*/
/**
* Container class for storing session data
*
* @category HTTP
* @package HTTP_Session
* @author David Costa <gurugeek@php.net>
* @author Michael Metz <pear.metz@speedpartner.de>
* @author Stefan Neufeind <pear.neufeind@speedpartner.de>
* @author Torsten Roehr <torsten.roehr@gmx.de>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
* @version Release: @package_version@
* @link http://pear.php.net/package/HTTP_Session
* @since Class available since Release 0.4.0
*/
class HTTP_Session_Container
{
/**
* Additional options for the container object
*
* @var array
* @access private
*/
var $options = array();
/**
* Constrtuctor method
*
* @param array $options Additional options for the container object
*
* @access public
* @return object
*/
function HTTP_Session_Container($options = null)
{
$this->_setDefaults();
if (is_array($options)) {
$this->_parseOptions();
}
}
/**
* Set some default options
*
* @access private
* @return void
*/
function _setDefaults()
{
}
/**
* Parse options passed to the container class
*
* @param array $options Options
*
* @access private
* @return void
*/
function _parseOptions($options)
{
foreach ($options as $option => $value) {
if (in_array($option, array_keys($this->options))) {
$this->options[$option] = $value;
}
}
}
/**
* This function is called by the session handler to initialize things
*
* @param string $save_path Save path
* @param string $session_name Session name
*
* @access public
* @return bool
*/
function open($save_path, $session_name)
{
return true;
}
/**
* This function is called when the page is finished
* executing and the session handler needs to close things off
*
* Has to be overwritten by each container class
*
* @access public
* @return bool
*/
function close()
{
return true;
}
/**
* This function is called by the session handler
* to read the data associated with a given session ID.
* This function must retrieve and return the session data
* for the session identified by $id.
*
* Has to be overwritten by each container class
*
* @param string $id ID of the session
*
* @access public
* @return string
*/
function read($id)
{
return '';
}
/**
* This function is called when the session handler
* has session data to save, which usually happens
* at the end of your script
*
* Has to be overwritten by each container class
*
* @param string $id ID of the session
* @param mixed $data The data associated with a given session ID
*
* @access public
* @return bool
*/
function write($id, $data)
{
return true;
}
/**
* This function is called when a session is destroyed.
* It is responsible for deleting the session and cleaning things up.
*
* Has to be overwritten by each container class
*
* @param string $id ID of the session
*
* @access public
* @return bool
*/
function destroy($id)
{
return true;
}
/**
* This function copies session data of specified id to specified table
*
* Has to be overwritten by each container class
*
* @param string $targetTable Table to replicate data to
* @param string $id ID of the session
*
* @access public
* @return bool
*/
function replicate($targetTable, $id = null)
{
return true;
}
/**
* This function is responsible for garbage collection.
* In the case of session handling, it is responsible
* for deleting old, stale sessions that are hanging around.
* The session handler will call this every now and then.
*
* Has to be overwritten by each container class
*
* @param integer $maxlifetime Maximum lifetime
*
* @access public
* @return bool
*/
function gc($maxlifetime)
{
return true;
}
/**
* Set session save handler
*
* @access public
* @return void
*/
function set()
{
$GLOBALS['HTTP_Session_Container'] =& $this;
session_module_name('user');
session_set_save_handler('HTTP_Session_Open',
'HTTP_Session_Close',
'HTTP_Session_Read',
'HTTP_Session_Write',
'HTTP_Session_Destroy',
'HTTP_Session_GC');
}
/**
* Destructor for compatibility with PHP >= 5.0.5
*
* @access private
* @return void
*/
function __destruct()
{
$GLOBALS['HTTP_Session_Container'] =& $this;
session_write_close();
}
}
// Delegate function calls to the object's methods
/** @ignore */
function HTTP_Session_Open($save_path, $session_name)
{
return (isset($GLOBALS['HTTP_Session_Container'])) ? $GLOBALS['HTTP_Session_Container']->open($save_path, $session_name)
: false;
}
/** @ignore */
function HTTP_Session_Close()
{
return (isset($GLOBALS['HTTP_Session_Container'])) ? $GLOBALS['HTTP_Session_Container']->close()
: false;
}
/** @ignore */
function HTTP_Session_Read($id)
{
return (isset($GLOBALS['HTTP_Session_Container'])) ? $GLOBALS['HTTP_Session_Container']->read($id)
: false;
}
/** @ignore */
function HTTP_Session_Write($id, $data)
{
return (isset($GLOBALS['HTTP_Session_Container'])) ? $GLOBALS['HTTP_Session_Container']->write($id, $data)
: false;
}
/** @ignore */
function HTTP_Session_Destroy($id)
{
return (isset($GLOBALS['HTTP_Session_Container'])) ? $GLOBALS['HTTP_Session_Container']->destroy($id)
: false;
}
/** @ignore */
function HTTP_Session_GC($maxlifetime)
{
return (isset($GLOBALS['HTTP_Session_Container'])) ? $GLOBALS['HTTP_Session_Container']->gc($maxlifetime)
: false;
}
?>