晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/vtlib/Vtiger/ |
Upload File : |
<?php
/*+**********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
************************************************************************************/
require_once('vtlib/thirdparty/dZip.inc.php');
/**
* Wrapper class over dZip.
* @package vtlib
*/
class Vtiger_Zip extends dZip {
/**
* Push out the file content for download.
*/
function forceDownload($zipfileName) {
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=".basename($zipfileName).";" );
//header("Content-Transfer-Encoding: binary");
// For details on this workaround check here the ticket
// http://trac.vtiger.com/cgi-bin/trac.cgi/ticket/5298
$disk_file_size = filesize($zipfileName);
$zipfilesize = $disk_file_size + ($disk_file_size % 1024);
header("Content-Length: ".$zipfilesize);
$fileContent = fread(fopen($zipfileName, "rb"), $zipfilesize);
echo $fileContent;
}
/**
* Get relative path (w.r.t base)
*/
function __getRelativePath($basepath, $srcpath) {
$base_realpath = $this->__normalizePath(realpath($basepath));
$src_realpath = $this->__normalizePath(realpath($srcpath));
$search_index = strpos($src_realpath, $base_realpath);
if($search_index === 0) {
$startindex = strlen($base_realpath)+1;
// On windows $base_realpath ends with / and On Linux it will not have / at end!
if(strrpos($base_realpath, '/') == strlen($base_realpath)-1) $startindex -= 1;
$relpath = substr($src_realpath, $startindex);
}
return $relpath;
}
/**
* Check and add '/' directory separator
*/
function __fixDirSeparator($path) {
if($path != '' && (strripos($path, '/') != strlen($path)-1)) $path .= '/';
return $path;
}
/**
* Normalize the directory path separators.
*/
function __normalizePath($path) {
if($path && strpos($path, '\\')!== false) $path = preg_replace("/\\\\/", "/", $path);
return $path;
}
/**
* Copy the directory on the disk into zip file.
*/
function copyDirectoryFromDisk($dirname, $zipdirname=null, $excludeList=null, $basedirname=null) {
$dir = opendir($dirname);
if(strripos($dirname, '/') != strlen($dirname)-1)
$dirname .= '/';
if($basedirname == null) $basedirname = realpath($dirname);
while(false !== ($file = readdir($dir))) {
if($file != '.' && $file != '..' &&
$file != '.svn' && $file != 'CVS') {
// Exclude the file/directory
if(!empty($excludeList) && in_array("$dirname$file", $excludeList))
continue;
if(is_dir("$dirname$file")) {
$this->copyDirectoryFromDisk("$dirname$file", $zipdirname, $excludeList, $basedirname);
} else {
$zippath = $dirname;
if($zipdirname != null && $zipdirname != '') {
$zipdirname = $this->__fixDirSeparator($zipdirname);
$zippath = $zipdirname.$this->__getRelativePath($basedirname, $dirname);
}
$this->copyFileFromDisk($dirname, $zippath, $file);
}
}
}
closedir($dir);
}
/**
* Copy the disk file into the zip.
*/
function copyFileFromDisk($path, $zippath, $file) {
$path = $this->__fixDirSeparator($path);
$zippath = $this->__fixDirSeparator($zippath);
$this->addFile("$path$file", "$zippath$file");
}
}
?>