php date_parse函数的使用方法详解
date_parse() 函数返回一个包含指定日的详细信息的关联数组。如果成功则返回包含被解析日期信息的关联数组,如果失败则返回 FALSE。可以解析的参数和strtotime()支持的参数相同。
定义和用法
date_parse() 函数返回一个包含指定日的详细信息的关联数组。
语法
date_parse(date);
参数 描述
date 必需。规定日期(格式由 strtotime() 接受)。
技术细节
返回值: 如果成功则返回包含被解析日期信息的关联数组,如果失败则返回 FALSE。
PHP 版本: 5.2+
<?php
print_r(date_parse("2016/1/11 10:05:50"));
?>
输出:
Array
(
[year] => 2016
[month] => 1
[day] => 11
[hour] => 10
[minute] => 5
[second] => 50
[fraction] => 0
[warning_count] => 0
[warnings] => Array
(
)
[error_count] => 0
[errors] => Array
(
)
[is_localtime] =>
)
把HH:MM:SS格式的时间字符串转换成秒数,可以使用date_parse函数解析具体的时间信息。
<?php
$time = '21:30:10';
$parsed = date_parse($time);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];
echo $seconds;
?>
更详细的例子
转换成多少天/多少小时/多少分
function get_stay_time($timestamp, $is_hour = 1, $is_minutes = 1)
{
$CI =& get_instance();
if(empty($timestamp) || $timestamp <= 60) {
return false;
}
$time = time();
$remain_time = $time - $timestamp;
$day = floor($remain_time / (3600*24));
$day = $day > 0 ? $day.'天' : '';
$hour = floor(($remain_time % (3600*24)) / 3600);
$hour = $hour > 0 ? $hour.'小时' : '';
if($is_hour && $is_minutes) {
$minutes = floor((($remain_time % (3600*24)) % 3600) / 60);
$minutes = $minutes > 0 ? $minutes.'分' : '';
return $day.$hour.$minutes;
}
if($hour) {
return $day.$hour;
}
return $day;
}
PHP Closure类之前在PHP预定义接口中介绍过,但它可不是interface哦,它是一个内部的final类。Closure类是用来表示匿名函数的,所有的匿名函数都是Closure类的实例。
$func = function() {
echo 'func called';
};
var_dump($func); //class Closure#1 (0) { }
$reflect =new ReflectionClass('Closure');
var_dump(
$reflect->isInterface(), //false
$reflect->isFinal(), //true
$reflect->isInternal() //true
);
Closure类结构如下:
Closure::__construct — 用于禁止实例化的构造函数
Closure::bind — 复制一个闭包,绑定指定的$this对象和类作用域。
Closure::bindTo — 复制当前闭包对象,绑定指定的$this对象和类作用域。
看一个绑定$this对象和作用域的例子:
class Lang
{
private $name = 'php';
}
$closure = function () {
return $this->name;
};
$bind_closure = Closure::bind($closure, new Lang(), 'Lang');
echo $bind_closure(); //php
另外,PHP使用魔术方法__invoke()可以使类变成闭包:
class Invoker {
public function __invoke() {return __METHOD__;}
}
$obj = new Invoker;
echo $obj(); //Invoker::__invoke
1、unset($_SESSION['xxx']) 删除单个session,unset($_SESSION['xxx']) 用来unregister一个已注册的session变量。其作用和session_unregister()相同。
session_unregister()在PHP5中已经废弃。
<?php // 初始化session. session_start(); /*** 删除所有的session变量..也可用unset($_SESSION[xxx])逐个删除。****/ $_SESSION = array(); /***删除sessin id.由于session默认是基于cookie的,所以使用setcookie删除包含session id的cookie.***/ if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 最后彻底销毁session. session_destroy(); ?>
unset($_SESSION) 此函数千万不可使用,它会将全局变量$_SESSION销毁,而且还没有可行的办法将其恢复。用户也不再可以注册$_session变量。
2、session_unset() 或者 $_SESSION=array() 删除多个session
3、session_destroy()结束当前的会话,并清空会话中的所有资源。该函数不会unset(释放)和当前session相关的全局变量(globalvariables),也不会删除客户端的session cookie.PHP默认的session是基于cookie的,如果要删除cookie的话,必须借助setcookie()函数。
总结:
session_destroy是注销所有的session变量,并且结束session会话;
如果希望删除一些session数据,则可以使用unset()函数或session_destroy()函数。unset()函数的作用是释放指定的session变量,调用格式如下:
<?php unset($_SESSION['jugelizi']); ?>
session_destroy()函数的作用是将session全部删除,调用格式如下:
<?PHP session_destroy(); ?>
提示:session_destroy()会重新设置session,你会丢失所有已保存的session数据。
session_unset()并不注销session变量,但把所有的session变量的值清空。
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协,下面我们来看Samba服务器的搭建理论篇一、Samba与NFS、ftp
在了解Samba服务之前,需要先了解一下cifs协议(Common Internet File System),该协议最早是微软搞出来的一个协议。cifs 协议最早实现的是window主机之间的文件共享与打印共享,并不支持在linux上运行,samba是由Andrew Tridgell工程师通过逆向工程实现的一个cifs协议软件。通过该包可以实现windows和linux之间的文件共享。这和NFS的走的路刚好相反,NFS最初只支持在类unix系统上运行,后被windows也学了去,所以OS并不能简单的说谁好谁坏,很多东西都是互相借鉴的。
Samba与NFS较ftp的一个好处就是可以将远程盘或挂载点映射到本机上,每次可以像本地编辑一样编辑文件。而ftp需要先下载到本地修改后再上传。
二、samba相关包与程序
1、samba程序包
目前samba 在源里默认的是samba 4.x版本,主要使用的相关软件包有:
# yum list|grep samba samba.x86_64 4.1.12-21.el7_1 @base samba-common.x86_64 4.1.12-21.el7_1 @base samba-libs.x86_64 4.1.12-21.el7_1 @base samba-client.x86_64 4.1.12-21.el7_1 base samba-python.x86_64 4.1.12-21.el7_1 base samba-winbind.x86_64 4.1.12-21.el7_1 base samba-winbind-modules.x86_64 4.1.12-21.el7_1 base
samba服务相关的配置主要是samba、samba-common、samba-client三个包和cifs-utils包,具体三个包的作用如下:
samba:主要提供了smb服务所需的格项服务程序如smbd和nmbd及与samba相关的eventlogadm程序;
samba-client:该包主要提供了samba client挂载使用的相关程序,如smbpasswd、smbtree等;
cifs-utils:mount挂载时需要该包来支持cifs协议,不安装该包就没有mount.cifs命令。使用mount挂载时也会有报错;
smba-common: 该包提供了samba服务的主配置文件smb.conf、lmhosts文件、 pdbedit用户相关和testparm语法检查指令等。
2、samba相关文件与程序
/etc/samba/smb.conf:samba服务的主配置文件;
/etc/samba/lmhosts:NetBIOS Name与IP的对应关系,做用类似于/etc/hosts,一般无需配置;
/etc/sysconfig/samba: smbd, nmbd服务自定义参数配置文件;
/etc/samba/smbusers:windows与linux的用户不一致,可以通过该文件进行对应映射,在新版本中默认不存在,代替的是username map参数,通过该参数可以指定具体的映射文件;
/var/lib/samba/private/{passdb.tdb,secrets.tdb}:samba用户和密码数据库文件;
/usr/bin/{tdbdump,tdbtool}: Samba 3.0以后,默认使用tdb库(Trivial DataBase),这两个命令用于查看和操作tdb库,不过查看出的结果有点类似于16进制的数据,一般不使用,需安装 tdb-tools 包;
/usr/bin/{smbpasswd,pdbedit}:smbpasswd命令用于创建samba用户和修改密码,类型于passwd命令的功能。Samba 3.0后使用pdb库,pdbedit命令为新版本中的samba用户信息管理命令;
/usr/bin/testparm:用于测试smb.conf语法的正确性。
/usr/bin/smbclient:可以交互式管理samba共享的资源,有点类似于ftp命令;
/usr/bin/nmblookup:Netblos查询工具,类似于nslookup的功能;
/usr/bin/smbtree:查看网络中的工作组与主机名等,有点类似于windows中的网上邻居
。
使用示例:
1、tdbdump
# tdbdump passdb.tdb { key(13) = "RID_000003e8\00" data(6) = "usera\00" } { key(11) = "USER_usera\00" data(182) = "\00\00\00\00\7F\A9T|\7F\A9T|\00\00\00\00bd\F5U\00\00\00\00\7F\A9T|\06\00\00\00usera\00\04\00\00\00WWW\00\01\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\01\00\00\00\00\01\00\00\00\00\01\00\00\00\00\E8\03\00\00\01\02\00\00\00\00\00\00\10\00\00\00\E5\81\0F<\99\AE*\BB\222\ED\84X\A6\13\09\00\00\00\00\10\00\00\00\A8\00\15\00\00\00 \00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\EC\04\00\00" } { key(19) = "INFO/minor_version\00" data(4) = "\00\00\00\00" } { key(9) = "NEXT_RID\00" data(4) = "\E9\03\00\00" } { key(13) = "INFO/version\00" data(4) = "\04\00\00\00" }
2、tdbtool
# tdbtool passdb.tdb tdb> list hash=23 rec: hash=23 offset=0x00001e38 next=0x00000000 rec_len=28 key_len=13 data_len=6 full_hash=0xc6948dbc magic=0x26011999 hash=33 rec: hash=33 offset=0x00001e6c next=0x00000000 rec_len=228 key_len=11 data_len=182 full_hash=0x41061b85 magic=0x26011999 hash=52 rec: hash=52 offset=0x00001f68 next=0x00000000 rec_len=32 key_len=19 data_len=4 full_hash=0x538a9285 magic=0x26011999 hash=65 rec: hash=65 offset=0x00001fd4 next=0x00000000 rec_len=20 key_len=9 data_len=4 full_hash=0x70a13a4c magic=0x26011999 hash=103 rec: hash=103 offset=0x00001fa0 next=0x00000000 rec_len=28 key_len=13 data_len=4 full_hash=0xf2394cd5 magic=0x26011999 freelist:
3、smbpasswd与pdbedit
创建samba用户前,需要用户先在本地中存在
# useradd -G users smb1 # useradd -G users smb2 # echo 361way.com | passwd --stdin smb1 # echo 361way.com | passwd --stdin smb2
使用smbapsswd创建:
smbapsswd常用项:
-a:创建新用户,不加-a 参数直接跟用户为修改用户密码;
-c:指定密码文件生成的位置;
-x:删除用户;
-d:临时禁用一个用户;
-e:enable一个用户;
-D:指定debug级别;
-n:设置一个用户的密码为空,用户使用空密码需在smb.conf的global 项配置中null passwords = yes ;
# smbpasswd -a smb1
New SMB password:
Retype new SMB password:
Added user smb1.
使用pdbedit命令创建:
pdbedit常用选项:
-L :列出samba用户与信息;
-v :需要搭配 -L 执行,可列出更多的信息;
-w :需要搭配 -L 执行,使用旧版的 smbpasswd 格式来显示信息;
-a :新增samba用户;
-r :修改一个用户的信息,需搭配很多特殊参数,请man pdbedit;
-x :删除一个可使用 用户,可先用 -L 找到用户后再?h除;
# pdbedit -a -u smb2 new password: retype new password: Unix username: smb2 NT username: Account Flags: [U ] User SID: S-1-5-21-1462619673-710706269-1943266961-1002 Primary Group SID: S-1-5-21-1462619673-710706269-1943266961-513 Full Name: Home Directory: \\www\smb2 HomeDir Drive: Logon Script: Profile Path: \\www\smb2\profile Domain: WWW Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: Wed, 06 Feb 2036 23:06:39 CST Kickoff time: Wed, 06 Feb 2036 23:06:39 CST Password last set: Sun, 13 Sep 2015 21:09:45 CST Password can change: Sun, 13 Sep 2015 21:09:45 CST Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF pdbedit 是一个新的指令,但无法修改用户密码,所以还是无法完全替代smbpasswd的作用。
4、testparm
testparm是一个语法测试命令,具体用法如下:
# testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[homes]" Processing section "[printers]" Processing section "[public]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [global] workgroup = MYGROUP server string = Samba Server Version %v map to guest = Bad User log file = /var/log/samba/log.%m max log size = 50 load printers = No idmap config * : backend = tdb cups options = raw [homes] ……………………略
5、smbclient
smbclient有两个功能,一个是查询功能,一个是类似于ftp交互式管理功能,如下:
smbclient查询当前的共享信息
# smbclient -L 192.168.0.109 Enter root's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.12] Sharename Type Comment --------- ---- ------- public Disk Public dir IPC$ IPC IPC Service (Samba Server Version 4.1.12) Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.12] Server Comment --------- -------
类ftp交互管理的用法
# smbclient '//192.168.0.109/public' -U smb1 Enter smb1's password: Anonymous login successful Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.12] smb: \> dir
# 我??可以使用 dir, get, put 等常用的 ftp 指令来进行文件传输
? :列出所有可以用的指令,常用!
cd :切换目录
del : 删除文件
lcd : 改变本机目录
ls : 查看samba共享目录下的文件信息
dir : 与s 相同
get : 下载文件
mget: 多个文件下载
mput: 多个文件上传
put :单个文件上传
rm : 删除文件
exit: 退出
# 内部更多指令可以?号查看,也可以 man smbclient 获取。
6、smbtree
# smbtree
Enter root's password:
WORKGROUP
\\YNNYCSK9X26EZUE //我的win7主机在这里也查看到了
MYGROUP
\\WWW Samba Server Version 4.1.12
7、客户端mount
mount.cifs或mount -t cifs常用参数有(-o后面带的部分):
username=登陆用户名,例如 username=smb1 ;
password=登陆密码:与上面 username 对应;
iocharset=本机的默认编码,如utf8 或 gb2312等;
codepage=提供samba服务的远程主机的编码方式,例如windows下繁体中文为cp950、简体中文为cp936 。
linux客户端下的挂载
# mount -t cifs //192.168.1.109/smb1 /mnt/samba \
-o username=smb1,password=361way.com,codepage=cp936
windows客户端下的挂载,也可以在开始--运行中输入\\ip
NET USE Q: \\192.168.0.109\public
net use H: \\192.168.0.109\shareFile "password" /user:"username"
注:需要注意的是linux与win下挂载时,使用的斜扛方向是有区别的。
8、smbstatus
用于查看当前连接到服务端的客户端主机信息:
# smbstatus Samba version 4.1.12 PID Username Group Machine ------------------------------------------------------------------- 2894 nobody nobody 192.168.0.104 (ipv4:192.168.0.104:50709) Service pid machine Connected at ------------------------------------------------------- public 2894 192.168.0.104 Sun Sep 13 21:40:04 2015 No locked files
三、samba服务配置
/etc/samba/smb.conf配置文件:
[global] workgroup = MYGROUP //工作组 netbios name = 361way //netbios名 server string = Samba Server Version %v //服务器字符串,可任意写 unix charset = utf8 //linux下使用的编码 display charset = utf8 //本机显示的编码 dos charset = cp936 //win下使用的编码 log file = /var/log/samba/log.%m //日志文件位置 # maximum size of 50KB per log file, then rotate: max log size = 50 security = user passdb backend = tdbsam //指定用户名密码存储的数据格式 passdb backend = tdbsam:/etc/samba/private/passdb.tdb //指定密码文件的位置 passdb backend = ldapsam:" ldap://ldap-1.example.com ldap://ldap-2.example.com " //使用ldap认证,后面的是备用节点 map to guest = Bad User //开启匿名访问 interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 //监听的本机端口和使用IP,默认监听所有 hosts allow = 192.168.12. 192.168.13. EXCEPT 192.168.12.100 //允许连接的IP网段,默认允许所有 cluster addresses = 10.0.0.1 10.0.0.2 10.0.0.3 集群设置 username map = /usr/local/samba/lib/users.map //用户名对应关系映射 logon drive = K: //windows自动挂载时映射的本地盘符名 logon script = startup.bat //客户端访问后自动执行的脚本程序 time server = yes //自动让 Windows主机 与 Samba 服务器时间同步 admin users = root //预设的管理用户 logon path = \\%N\%U\profile //使用者的个人化设定 logon home = \\%N\%U //使用者的家目录位置! set quota command = /usr/local/sbin/set_quota //磁盘配额相关 load printers = yes //开启打印机共享 cups options = raw # obtain a list of printers automatically on UNIX System V systems: //具体共享项的常用选项
[共享名称]
comment=提示性信息
path=具体共享的目录路径
browseable=是否让所用使用者查看,yes或no
writable=是否有写入权限,yes或no
create mode 与 directory mode ,默认权限设置,如:force create mode = 0755,默认是000
writelist = 使用者, @群? 除了@,还有+、&两个符号
上面的选项中大部分我都进行了注解,这里再选取几个典型的部分细说下。
security = user :在老的版本中,可选项中有security = share、user、domain,share即开启匿名防问,在新的版本中该项由于安全考虑被取消掉了。默认是user,想开启匿名防问加后面的map to guest行。新版本中的security 后面可以跟的有AUTO、USER、DOMAIN、ADS(windows AD域);
logon script = startup.bat :自动执行脚本,多用于windows客户端访问后,自动将访问目录映射为本地盘,如这里使用脚本内容为:
net time \\192.168.0.109 /set /yes
net use K: /samba 或
NET USE Q: \\192.168.0.109\public
需要注意的是上面的内容需要在windows下编辑,如果使用linux下编辑,需要使用unix2dos命令进行转换。
更多配置部分请使用man smb.conf查看。
四、防火墙与selinux
防火墙上需要放行的端口有UDP 137、138--nmbd服务占用、TCP的139、445 --smbd服务使用:
# netstat -ntlup|grep mb tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2483/smbd tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 2483/smbd tcp6 0 0 :::139 :::* LISTEN 2483/smbd tcp6 0 0 :::445 :::* LISTEN 2483/smbd udp 0 0 192.168.0.255:137 0.0.0.0:* 2489/nmbd udp 0 0 192.168.0.109:137 0.0.0.0:* 2489/nmbd udp 0 0 0.0.0.0:137 0.0.0.0:* 2489/nmbd udp 0 0 192.168.0.255:138 0.0.0.0:* 2489/nmbd udp 0 0 192.168.0.109:138 0.0.0.0:* 2489/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 2489/nmbd
使用用下面的命令放行:
firewall-cmd --permanent --add-port=137-138/udp firewall-cmd --permanent --add-port=139/tcp --add-port=445/tcp firewall-cmd --reload selinux相关项在/etc/samba/smb.conf的注释部分都有说明,如下: 修改共享目录的上下文件为samba_share模式 #chcon -t samba_share_t /test 系统目录需要读写时需要开启: # setsebool -P samba_export_all_ro on # setsebool -P samba_export_all_rw on home目录共享时需要 #setsebool -P samba_enable_home_dirs on 域控制时需要使用(一般用不到) # setsebool -P samba_domain_controller on
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08php 中file_get_contents超时问题的解决方法
file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- 有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。  ...2017-07-06
- ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
intellij idea快速查看当前类中的所有方法(推荐)
这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
js导出table数据到excel即导出为EXCEL文档的方法
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13- 批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果̳...2017-07-06
- 许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
- CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25