晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/public_html/crm/kcfinder/lib/ |
Upload File : |
<?php
/** This file is part of KCFinder project
*
* @desc Path helper class
* @package KCFinder
* @version 2.21
* @author Pavel Tzonkov <pavelc@users.sourceforge.net>
* @copyright 2010 KCFinder Project
* @license http://www.opensource.org/licenses/gpl-2.0.php GPLv2
* @license http://www.opensource.org/licenses/lgpl-2.1.php LGPLv2
* @link http://kcfinder.sunhater.com
*/
class path {
/** Get the absolute URL path of the given one. Returns FALSE if the URL
* is not valid or the current directory cannot be resolved (getcwd())
* @param string $path
* @return string */
static function rel2abs_url($path) {
//added so absolute url's used instead of url's relative to server's root.
require '../config.inc.php';
$return = $site_URL."/$path";
return $return;
}
/** Resolve full filesystem path of given URL. Returns FALSE if the URL
* cannot be resolved
* @param string $url
* @return string */
static function url2fullPath($url) {
$url = self::normalize($url);
$uri = isset($_SERVER['SCRIPT_NAME'])
? $_SERVER['SCRIPT_NAME'] : (isset($_SERVER['PHP_SELF'])
? $_SERVER['PHP_SELF']
: false);
$uri = self::normalize($uri);
if (substr($url, 0, 1) !== "/") {
if ($uri === false) return false;
$url = dirname($uri) . "/$url";
}
if (isset($_SERVER['DOCUMENT_ROOT'])) {
return self::normalize($_SERVER['DOCUMENT_ROOT'] . "/$url");
} else {
if ($uri === false) return false;
if (isset($_SERVER['SCRIPT_FILENAME'])) {
$scr_filename = self::normalize($_SERVER['SCRIPT_FILENAME']);
return self::normalize(substr($scr_filename, 0, -strlen($uri)) . "/$url");
}
$count = count(explode('/', $uri)) - 1;
for ($i = 0, $chdir = ""; $i < $count; $i++)
$chdir .= "../";
$chdir = self::normalize($chdir);
$dir = getcwd();
if (($dir === false) || !@chdir($chdir))
return false;
$rdir = getcwd();
chdir($dir);
return ($rdir !== false) ? self::normalize($rdir . "/$url") : false;
}
}
/** Normalize the given path. On Windows servers backslash will be replaced
* with slash. Remobes unnecessary doble slashes and double dots. Removes
* last slash if it exists. Examples:
* path::normalize("C:\\any\\path\\") returns "C:/any/path"
* path::normalize("/your/path/..//home/") returns "/your/home"
* @param string $path
* @return string */
static function normalize($path) {
if (strtoupper(substr(PHP_OS, 0, 3)) == "WIN") {
$path = preg_replace('/([^\\\])\\\([^\\\])/', "$1/$2", $path);
if (substr($path, -1) == "\\") $path = substr($path, 0, -1);
if (substr($path, 0, 1) == "\\") $path = "/" . substr($path, 1);
}
$path = preg_replace('/\/+/s', "/", $path);
$path = "/$path";
if (substr($path, -1) != "/")
$path .= "/";
$expr = '/\/([^\/]{1}|[^\.\/]{2}|[^\/]{3,})\/\.\.\//s';
while (preg_match($expr, $path))
$path = preg_replace($expr, "/", $path);
$path = substr($path, 0, -1);
$path = substr($path, 1);
return $path;
}
/** Encode URL Path
* @param string $path
* @return string */
static function urlPathEncode($path) {
$path = self::normalize($path);
$encoded = "";
foreach (explode("/", $path) as $dir)
$encoded .= rawurlencode($dir) . "/";
$encoded = substr($encoded, 0, -1);
return $encoded;
}
/** Decode URL Path
* @param string $path
* @return string */
static function urlPathDecode($path) {
$path = self::normalize($path);
$decoded = "";
foreach (explode("/", $path) as $dir)
$decoded .= rawurldecode($dir) . "/";
$decoded = substr($decoded, 0, -1);
return $decoded;
}
}
?>