copy.cgi

来自「Unix下基于Web的管理工具」· CGI 代码 · 共 48 行

CGI
48
字号
#!/usr/local/bin/perl# copy.cgi# Copy some file or directoryrequire './file-lib.pl';&ReadParse();&switch_acl_uid();print "Content-type: text/plain\n\n";if (!&can_access($in{'from'})) {	print &text('copy_efrom', $in{'from'}),"\n";	exit;	}if (!&can_access($in{'to'})) {	print &text('copy_eto', $in{'to'}),"\n";	exit;	}if (-l $in{'from'}) {	# Remake the link	if (!symlink(readlink($in{'from'}), $in{'to'})) {		print &text('copy_elink', $!),"\n";		exit;		}	}elsif (-d $in{'from'}) {	# Recursively copy with tar	($fromdir, $fromfile) = &split_dir($in{'from'});	($todir, $tofile) = &split_dir($in{'to'});	unlink($in{'to'});	$out = `(cd "$fromdir"; tar cf - "$fromfile" | (cd "$todir"; tar xf -)) 2>&1`;	}else {	# Simple copy using cp	unlink($in{'to'});	$out = `cp -p "$in{'from'}" "$in{'to'}" 2>&1`;	}if ($?) { print $out,"\n"; }else {	print "\n";	print &file_info_line($in{'to'}),"\n";	}sub split_dir{$_[0] =~ /^(.*\/)([^\/]+)$/;return ($1, $2);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?