官方下载地址:http://ueditor.baidu.com/website/download.html

步骤一:

ueditor01.png

步骤二:ueditor02.png

步骤三:

ueditor03.png


本文转载/手册网

21 个非常有用的 .htaccess 提示和技巧

十度2016年11月01日apache

Apache Web 服务器可以通过 .htaccess 文件来操作各种信息,这是一个目录级配置文件的默认名称,允许去中央化的 Web 服务器配置管理。可用来重写服务器的全局配置。该文件的目的就是为了允许单独目录的访问控制配置,例如密码和内容访问。

下面是 21 个非常有用的 .htaccess 配置的提示和技巧:

1. 定制目录的 Index 文件

  1. DirectoryIndex index.html index.php index.htm

复制

你可以使用上面的配置来更改目录的默认页面,例如你将这个脚本放在 foo 目录,则用户请求 /foo/ 时候就会访问 /foo/index.html。

2. 自定义错误页

  1. ErrorDocument404 errors/404.html


当用户访问页面报错时,例如页面找不到你希望显示自定义的错误页面,你可以通过这种方法来实现。或者是动态的页面:

ErrorDocument 404 /psych/cgi-bin/error/error?404

3. 控制访问文件和目录的级别

.htaccess 经常用来限制和拒绝访问某个文件和目录,例如我们有一个 includes 文件夹,这里存放一些脚本,我们不希望用户直接访问这个文件夹,那么通过下面的脚本可以实现:

  1. # no one gets in here!

  2. deny from all


上述脚本是拒绝所有的访问,你也可以根据IP段来拒绝:

  1. # no nasty crackers in here!

  2. order deny,allow

  3. deny from all

  4. allow from192.168.0.0/24

  5. # this would do the same thing..

  6. #allow from 192.168.0


一般这些方法是通过防火墙来处理,但在一个生产环境中的服务器来说,这样的调整非常方便。

有时候你只是想禁止某个ip访问:

  1. # someone else giving the ruskies a bad name..

  2. order allow,deny

  3. deny from83.222.23.219

  4. allow from all

4. 修改环境变量

环境变量包含了服务器端 CGI 的一些扩展信息,可使用 SetEnv 和 UnSetEnv 进行设置以及取消设置.

  1. SetEnv SITE_WEBMASTER "Jack Sprat"

  2. SetEnv SITE_WEBMASTER_URI mailto:Jack.Sprat@characterology.com

  3. UnSetEnv REMOTE_ADDR

5. 301 重定向

如果你希望某个页面跳转到新的页面:

  1. Redirect301/old/file.html http://yourdomain.com/new/file.html


下面可以实现对整个路径的重定向

  1. RedirectMatch301/blog(.*) http://yourdomain.com/$1

6. 通过 .htaccess 实现缓存策略

通过设置在浏览器上缓存静态文件可以提升网站的性能:

  1. # year

  2. HeadersetCache-Control"public"

  3. HeadersetExpires"Thu, 15 Apr 2010 20:00:00 GMT"

  4. Header unset Last-Modified


  5. #2 hours

  6. HeadersetCache-Control"max-age=7200, must-revalidate"


  7. SetOutputFilter DEFLATE

  8. HeadersetExpires"Thu, 15 Apr 2010 20:00:00 GMT"


7. 使用 GZIP 对输出进行压缩

在 .htaccess 中添加下面的代码可以将所有的 css、js 和 html 使用 GZIP 算法压缩:

  1.     mod_gzip_on       Yes

  2.     mod_gzip_dechunk  Yes

  3.     mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$

  4.     mod_gzip_item_include handler   ^cgi-script$

  5.     mod_gzip_item_include mime      ^text/.*

  6.     mod_gzip_item_include mime      ^application/x-javascript.*

  7.     mod_gzip_item_exclude mime      ^image/.*

  8.     mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*



使用上面代码的前提是启用 mod_gzip 模块,你可以使用下面脚本来判断 Web 服务器是否提供 mod_deflate 支持:

  1.     SetOutputFilter DEFLATE

  2.       SetEnvIfNoCase Request_URI  \

  3.         \.(?:gif|jpe?g|png)$ no-gzip dont-vary

  4.     SetEnvIfNoCase Request_URI  \

  5.         \.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary



如果 Web 服务器不支持 mod_deflate ,那么可使用下面方法:

  1.     php_value output_handler ob_gzhandler



更多关于压缩的内容请阅读: Compressing PHP, CSS, JavaScript(JS).

8. 强制要求使用 HTTPS 访问

通过以下脚本可以强制整个网站必须使用 https 方式访问:

  1. RewriteEngineOn

  2. RewriteCond%{HTTPS}!on

  3. RewriteRule(.*) https://%{HTTP_HOST}%{REQUEST_URI}


9. URL 重写

例如要将 product.php?id=12 重写为 product-12.html

  1. RewriteEngine on

  2. RewriteRule^product-([0-9]+)\.html$ product.php?id=$1


将 product.php?id=12 重写为 product/ipod-nano/12.html

  1. RewriteEngine on

  2. RewriteRule^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$2


重定向没有 www 到有 www 的 URL 地址:

  1. RewriteEngineOn

  2. RewriteCond%{HTTP_HOST}^viralpatel\.net$

  3. RewriteRule(.*) http://www.viralpatel.net/$1 [R=301,L]


重写 yoursite.com/user.php?username=xyz 到 yoursite.com/xyz

  1. RewriteEngineOn

  2. RewriteRule^([a-zA-Z0-9_-]+)$ user.php?username=$1

  3. RewriteRule^([a-zA-Z0-9_-]+)/$ user.php?username=$1


重定向某个域名到一个 public_html 里新的子文件夹:

  1. RewriteEngineOn

  2. RewriteCond%{HTTP_HOST}^test\.com$ [OR]

  3. RewriteCond%{HTTP_HOST}^www\.test\.com$

  4. RewriteCond%{REQUEST_URI}!^/new/

  5. RewriteRule(.*)/new/$1

10. 阻止列出目录文件

使用下面代码可以防止列表目录里的所有文件:

  1. Options-Indexes


或者

  1. IndexIgnore*


更多详情 Denying/Allowing directory listing.

11. 添加新的 MIME-Types

MIME-types 依赖于文件的扩展名,未能被识别的文件扩展名会当成文本数据传输

  1. AddType application/x-endnote-connection enz

  2. AddType application/x-endnote-filter enf

  3. AddType application/x-spss-savefile sav


12. 防盗链

你不希望别人网站引用你站内的图片、css 等静态文件,也就是传说中的防盗链,可以使用如下脚本:

  1. RewriteCond%{HTTP_REFERER}!^$

  2. RewriteCond%{REQUEST_URI}!^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).*[NC]

  3. RewriteCond%{HTTP_REFERER}!^http://www.askapache.com.*$ [NC]

  4. RewriteRule \.(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ -[F,NS,L]

13. 指定上传文件的大小限制,适用于 PHP

  1. php_value upload_max_filesize 20M

  2. php_value post_max_size 20M

  3. php_value max_execution_time 200

  4. php_value max_input_time 200


上述脚本中,通过四个参数来设置上传文件的限制,第一个参数是文件的大小,第二个是 POST 数据的大小,第三个是传输的时间(单位秒),最后一个是解析上传数据最多花费的时间(单位秒)

14. 禁止脚本执行

  1. Options-ExecCGI

  2. AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi


15. 修改字符集和语言头

  1. AddDefaultCharset UTF-8

  2. DefaultLanguage en-US


16. 设置服务器时区(GMT)

  1. SetEnv TZ America/Indianapolis


17. 强制 “File Save As” 提示

  1. AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4


18. 保护单个文件

正常情况下 .htaccess 可用于限制整个目录的访问,但也可以只限制某个文件:

  1. order deny,allow

  2. deny from all

  3. AuthType Basic

  4. AuthName "Characterology Student Authcate"

  5. AuthLDAP on

  6. AuthLDAPServer ldap://directory.characterology.com/

  7. AuthLDAPBase "ou=Student, o=Characterology University, c=au"

  8. require valid-user

  9. satisfy any



19. 设置 Cookie

通过环境变量来设置 Cookie

  1. HeadersetSet-Cookie"language=%{lang}e; path=/;" env=lang


基于请求设置 Cookie,该代码发送 Set-Cookie 头用于设置 Cookie 值为第二个括号里的匹配项

  1. RewriteEngineOn

  2. RewriteBase/

  3. RewriteRule^(.*)(de|es|fr|it|ja|ru|en)/$ -[co=lang:$2:.yourserver.com:7200:/]


20. 设置自定义的响应 Headers

  1. Headerset P3P "policyref=\"http://www.askapache.com/w3c/p3p.xml\""

  2. Headerset X-Pingback"http://www.askapache.com/xmlrpc.php"

  3. HeadersetContent-Language"en-US"

  4. HeadersetVary"Accept-Encoding"


21. 根据 User-Agent 来阻止请求

  1. SetEnvIfNoCase^User-Agent$.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT

  2. SetEnvIfNoCase^User-Agent$.*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT

  3. Denyfrom env=HTTP_SAFE_BADBOT


2017.07.10两个表单在同一个页面回车提交冲突和表单无法回车提交问题.png

wamp服务器目录设置访问权限

Require all granted #允许所有

Require all denied #拒绝所有

Require ip 10 172.20 192.168.2 #允许 特定IP

Require env env-var [env-var] ... #允许,匹配环境变量中任意一个

Require method http-method [http-method] ... #允许,特定的HTTP方法

Require expr expression #允许,表达式为true

Require user userid [ userid ] ... #允许,特定用户

Require group group-name [group-name] ... #允许,特定用户组

Require valid-user  #允许,有效用户

如果访问不了:

把apache的httpd.conf配置文件里的 Include conf/extra/httpd-vhosts.conf关闭(这是虚拟主机配置文件)


  // 获取url中的传参

    // function GetQueryString(name)

    // {

    //      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");

    //      var r = window.location.search.substr(1).match(reg);

    //      if(r!=null)return  "user.AgencyName='"+unescape(r[2])+"'"; return null;

    // }

    // $("input[name='AgencyName']").attr("ng-init", GetQueryString("xx"))

  /**

     * 获取url的值

     * @param  string $str [url路径]

     * @return [array]      [返回参数数组]

     */

    public function geturl($str){

        $data = array();

        $parameter = explode('&',end(explode('?',$str)));

        foreach($parameter as $val){

            $tmp = explode('=',$val);

            $data[$tmp[0]] = $tmp[1];

        }

        return $data;

    }


 // 手机滑动加载

    $(function(){

        // 页数

        var page = 0;

        // 每页展示7个

        var size = 7;

        // droploa

        $('.content').dropload({

            scrollArea : window,

            loadDownFn : function(me){

                page++;

                // 拼接HTML

                var result = '';

                var time_type = "{$_GET['time_type']}";

                $.ajax({

                    type: 'GET',

                    url: "{:U('Wap/Users/rechargeList')}?page="+page+'&size='+size+'&time_type='+time_type,

                    dataType: 'json',

                    success: function(data){

                        if(data.code == 0){

                            var arrLen = data.list.length;

                            for(var i=0; i<arrLen; i++){

                                result += '<tr>'; 

                                result +='<td id="order'+page+'_'+i+'">'+data.list[i].OrderNo_short+'</td>';


                                result +='<td>'+data.list[i].GoodsName+'</td>';

                                result +='<td>'+data.list[i].EffectDays+'</td>';

                                result +='<td>'+data.list[i].Amount+'</td>';

                                result +='<td>'+data.list[i].CreateTime+'</td>';

                                result +='</tr>';

                            }

                        // 如果没有数据

                        }else{

                            // 锁定

                            me.lock();

                            // 无数据

                            me.noData();

                        }

                        // 为了测试,延迟1秒加载

                        setTimeout(function(){

                            // 插入数据到页面,放到最后面

                            $("tr:last").after(result);

                            // var arrLen = data.list.length;

                            for(var i=0; i<arrLen; i++){

                                var num = $('#order'+page+'_'+i);

                                num.data("OrderNo_short",data.list[i].OrderNo_short);

                                num.data("orderon",data.list[i].OrderNo);

                                num.click(function(){

                                    var status = $(this).data("status");

                                    if (typeof(status) != 'undefined' && status === true) {

                                        $(this).html($(this).data("OrderNo_short"));

                                        $(this).data("status", false);

                                    } else {

                                       $(this).html($(this).data("orderon"));

                                        $(this).data("status", true);

                                    }

                                });

                            }

                            // 每次数据插入,必须重置

                            me.resetload();

                        },1000);

                    },

                    error: function(xhr, type){

                        // alert('Ajax error!');

                        // 即使加载出错,也得重置

                        me.resetload();

                    }

                });

            }

        });

    });



本文转载:http://www.cnblogs.com/xuyulin/p/5468102.html

MySQL函数大全及用法示例

1、字符串函数

ascii(str)  

返回字符串str的第一个字符的ascii值(str是空串时返回0) 

mysql> select ascii('2'); 

  -> 50 

mysql> select ascii(2); 

  -> 50 

mysql> select ascii('dete'); 

  -> 100 



ord(str)  

如果字符串str句首是单字节返回与ascii()函数返回的相同值。

如果是一个多字节字符,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode...] 

mysql> select ord('2'); 

  -> 50  

conv(n,from_base,to_base)  

对数字n进制转换,并转换为字串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作) 

mysql> select conv("a",16,2); 

  -> '1010'

mysql> select conv("6e",18,8); 

  -> '172'

mysql> select conv(-17,10,-18); 

  -> '-h'

mysql> select conv(10+"10"+'10'+0xa,10,10); 

  -> '40' 

bin(n)  

把n转为二进制值并以字串返回(n是bigint数字,等价于conv(n,10,2)) 

mysql> select bin(12); 

  -> '1100' 

oct(n)  

把n转为八进制值并以字串返回(n是bigint数字,等价于conv(n,10,8)) 

mysql> select oct(12); 

  -> '14' 

hex(n)  

把n转为十六进制并以字串返回(n是bigint数字,等价于conv(n,10,16)) 

mysql> select hex(255); 

  -> 'ff' 

char(n,...)  

返回由参数n,...对应的ascii代码字符组成的一个字串(参数是n,...是数字序列,null值被跳过)  

mysql> select char(77,121,83,81,'76'); 

  -> 'mysql'

mysql> select char(77,77.3,'77.3'); 

  -> 'mmm' 

concat(str1,str2,...)  

把参数连成一个长字符串并返回(任何参数是null时返回null) 

mysql> select concat('my', 's', 'ql'); 

  -> 'mysql'

mysql> select concat('my', null, 'ql'); 

  -> null

mysql> select concat(14.3); 

  -> '14.3' 

length(str)  

octet_length(str) 

char_length(str) 

character_length(str) 

返回字符串str的长度(对于多字节字符char_length仅计算一次)

mysql> select length('text'); 

  -> 4 

mysql> select octet_length('text'); 

  -> 4  

locate(substr,str)  

position(substr in str)  

返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0) 

mysql> select locate('bar', 'foobarbar'); 

  -> 4 

mysql> select locate('xbar', 'foobar'); 

  -> 0  

locate(substr,str,pos) 

返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0) 

mysql> select locate('bar', 'foobarbar',5); 

  -> 7  

instr(str,substr)  

返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0) 

mysql> select instr('foobarbar', 'bar'); 

  -> 4 

mysql> select instr('xbar', 'foobar'); 

  -> 0   

lpad(str,len,padstr)  

用字符串padstr填补str左端直到字串长度为len并返回 

mysql> select lpad('hi',4,'??'); 

  -> '??hi' 

rpad(str,len,padstr)  

用字符串padstr填补str右端直到字串长度为len并返回 

mysql> select rpad('hi',5,'?'); 

  -> 'hi???' 

left(str,len)  

返回字符串str的左端len个字符 

mysql> select left('foobarbar', 5); 

  -> 'fooba' 

right(str,len)  

返回字符串str的右端len个字符  

mysql> select right('foobarbar', 4); 

  -> 'rbar' 

substring(str,pos,len)  

substring(str from pos for len)  

mid(str,pos,len)  

返回字符串str的位置pos起len个字符mysql> select substring('quadratically',5,6); 

  -> 'ratica' 

substring(str,pos)  

substring(str from pos)  

返回字符串str的位置pos起的一个子串 

mysql> select substring('quadratically',5); 

  -> 'ratically'

mysql> select substring('foobarbar' from 4); 

  -> 'barbar' 

substring_index(str,delim,count)  

返回从字符串str的第count个出现的分隔符delim之后的子串

(count为正数时返回左端,否则返回右端子串) 

mysql> select substring_index('www.mysql.com', '.', 2); 

  -> 'www.mysql'

mysql> select substring_index('www.mysql.com', '.', -2); 

  -> 'mysql.com' 

ltrim(str)  

返回删除了左空格的字符串str 

mysql> select ltrim('  barbar'); 

  -> 'barbar' 

rtrim(str)  

返回删除了右空格的字符串str 

mysql> select rtrim('barbar   '); 

  -> 'barbar' 

trim([[both | leading | trailing] [remstr] from] str)  

返回前缀或后缀remstr被删除了的字符串str(位置参数默认both,remstr默认值为空格) 

mysql> select trim('  bar   '); 

  -> 'bar'

mysql> select trim(leading 'x' from 'xxxbarxxx'); 

  -> 'barxxx'

mysql> select trim(both 'x' from 'xxxbarxxx'); 

  -> 'bar'

mysql> select trim(trailing 'xyz' from 'barxxyz'); 

  -> 'barx' 

soundex(str)  

返回str的一个同音字符串(听起来“大致相同”字符串有相同的

同音字符串,非数字字母字符被忽略,在a-z外的字母被当作元音) 

mysql> select soundex('hello'); 

  -> 'h400'

mysql> select soundex('quadratically'); 

  -> 'q36324' 

space(n)  

返回由n个空格字符组成的一个字符串 

mysql> select space(6); 

  -> '      ' 

replace(str,from_str,to_str)  

用字符串to_str替换字符串str中的子串from_str并返回 

mysql> select replace('www.mysql.com', 'w', 'ww'); 

  -> 'wwwwww.mysql.com' 

repeat(str,count)  

返回由count个字符串str连成的一个字符串(任何参数为null时

返回null,count<=0时返回一个空字符串) 

mysql> select repeat('mysql', 3); 

  -> 'mysqlmysqlmysql' 

reverse(str)  

颠倒字符串str的字符顺序并返回 

mysql> select reverse('abc'); 

  -> 'cba' 

insert(str,pos,len,newstr)  

把字符串str由位置pos起len个字符长的子串替换为字符串

newstr并返回 

mysql> select insert('quadratic', 3, 4, 'what'); 

  -> 'quwhattic' 

elt(n,str1,str2,str3,...)  

返回第n个字符串(n小于1或大于参数个数返回null) 

mysql> select elt(1, 'ej', 'heja', 'hej', 'foo'); 

  -> 'ej'

mysql> select elt(4, 'ej', 'heja', 'hej', 'foo'); 

  -> 'foo' 

field(str,str1,str2,str3,...)  

返回str等于其后的第n个字符串的序号(如果str没找到返回0) 

mysql> select field('ej', 'hej', 'ej', 'heja', 'hej',

'foo'); 

  -> 2 

mysql> select field('fo', 'hej', 'ej', 'heja', 'hej',

'foo'); 

  -> 0  

find_in_set(str,strlist)  

返回str在字符串集strlist中的序号(任何参数是null则返回

null,如果str没找到返回0,参数1包含","时工作异常) 

mysql> select find_in_set('b','a,b,c,d'); 

  -> 2  

make_set(bits,str1,str2,...) 

把参数1的数字转为二进制,假如某个位置的二进制位等于1,对应

位置的字串选入字串集并返回(null串不添加到结果中) 

mysql> select make_set(1,'a','b','c'); 

  -> 'a'

mysql> select make_set(1 | 4,'hello','nice','world'); 

  -> 'hello,world'

mysql> select make_set(0,'a','b','c'); 

  -> '' 

export_set(bits,on,off,[separator,[number_of_bits]])  

按bits排列字符串集,只有当位等于1时插入字串on,否则插入

off(separator默认值",",number_of_bits参数使用时长度不足补0

而过长截断)  

mysql> select export_set(5,'y','n',',',4) 

  -> y,n,y,n   

lcase(str) 

lower(str)  

返回小写的字符串str 

mysql> select lcase('quadratically'); 

  -> 'quadratically' 

ucase(str)  

upper(str)  

返回大写的字符串str 

mysql> select ucase('quadratically'); 

  -> 'quadratically' 

load_file(file_name)  

读入文件并且作为一个字符串返回文件内容(文件无法找到,路径

不完整,没有权限,长度大于max_allowed_packet会返回null) 

mysql> update table_name set blob_column=load_file

("/tmp/picture") where id=1;  

2、数学函数

abs(n) 

返回n的绝对值 

mysql> select abs(2);   

  -> 2   

mysql> select abs(-32);   

  -> 32    

sign(n) 

返回参数的符号(为-1、0或1) 

mysql> select sign(-32);   

  -> -1   

mysql> select sign(0);   

  -> 0   

mysql> select sign(234);   

  -> 1    

mod(n,m)   

取模运算,返回n被m除的余数(同%操作符)   

mysql> select mod(234, 10);   

  -> 4   

mysql> select 234 % 10;   

  -> 4   

mysql> select mod(29,9);   

  -> 2    

floor(n) 

返回不大于n的最大整数值 

mysql> select floor(1.23);   

  -> 1   

mysql> select floor(-1.23);   

  -> -2    

ceiling(n) 

返回不小于n的最小整数值 

mysql> select ceiling(1.23);   

  -> 2   

mysql> select ceiling(-1.23);   

  -> -1    

round(n,d) 

返回n的四舍五入值,保留d位小数(d的默认值为0) 

mysql> select round(-1.23);   

  -> -1   

mysql> select round(-1.58);   

  -> -2   

mysql> select round(1.58);   

  -> 2   

mysql> select round(1.298, 1);   

  -> 1.3   

mysql> select round(1.298, 0);   

  -> 1    

exp(n) 

返回值e的n次方(自然对数的底) 

mysql> select exp(2);   

  -> 7.389056   

mysql> select exp(-2);   

  -> 0.135335    

log(n) 

返回n的自然对数 

mysql> select log(2);   

  -> 0.693147   

mysql> select log(-2);   

  -> null    

log10(n) 

返回n以10为底的对数 

mysql> select log10(2);   

  -> 0.301030   

mysql> select log10(100);   

  -> 2.000000   

mysql> select log10(-100);   

  -> null    

pow(x,y)   

power(x,y)   

 返回值x的y次幂 

mysql> select pow(2,2);   

  -> 4.000000   

mysql> select pow(2,-2);   

  -> 0.250000 

sqrt(n) 

 返回非负数n的平方根 

mysql> select sqrt(4);   

  -> 2.000000   

mysql> select sqrt(20);   

  -> 4.472136    

pi()   

 返回圆周率  

mysql> select pi();   

  -> 3.141593    

cos(n) 

 返回n的余弦值 

mysql> select cos(pi()); 

  -> -1.000000    

sin(n) 

 返回n的正弦值  

mysql> select sin(pi());   

  -> 0.000000    

tan(n) 

返回n的正切值 

mysql> select tan(pi()+1);   

  -> 1.557408    

acos(n) 

 返回n反余弦(n是余弦值,在-1到1的范围,否则返回null) 

mysql> select acos(1);   

  -> 0.000000   

mysql> select acos(1.0001);   

  -> null   

mysql> select acos(0);   

  -> 1.570796    

asin(n) 

返回n反正弦值 

mysql> select asin(0.2);   

  -> 0.201358   

mysql> select asin('foo');   

  -> 0.000000    

atan(n) 

返回n的反正切值 

mysql> select atan(2);   

  -> 1.107149   

mysql> select atan(-2);   

  -> -1.107149   

atan2(x,y)   

 返回2个变量x和y的反正切(类似y/x的反正切,符号决定象限) 

mysql> select atan(-2,2);   

  -> -0.785398   

mysql> select atan(pi(),0);   

  -> 1.570796    

cot(n) 

返回x的余切 

mysql> select cot(12);   

  -> -1.57267341   

mysql> select cot(0);   

  -> null    

rand() 

rand(n)   

返回在范围0到1.0内的随机浮点值(可以使用数字n作为初始值)

mysql> select rand();   

  -> 0.5925   

mysql> select rand(20);   

  -> 0.1811   

mysql> select rand(20);   

  -> 0.1811   

mysql> select rand();   

  -> 0.2079   

mysql> select rand();   

  -> 0.7888    

degrees(n) 

把n从弧度变换为角度并返回 

mysql> select degrees(pi());   

  -> 180.000000    

radians(n) 

把n从角度变换为弧度并返回  

mysql> select radians(90);   

  -> 1.570796   

truncate(n,d)   

保留数字n的d位小数并返回 

mysql> select truncate(1.223,1);   

  -> 1.2   

mysql> select truncate(1.999,1);   

  -> 1.9   

mysql> select truncate(1.999,0);   

  -> 1    

least(x,y,...)   

返回最小值(如果返回值被用在整数(实数或大小敏感字串)上下文或所有参数都是整数(实数或大小敏感字串)则他们作为整数(实数或大小敏感字串)比较,否则按忽略大小写的字符串被比较) 

mysql> select least(2,0);   

  -> 0   

mysql> select least(34.0,3.0,5.0,767.0);   

  -> 3.0   

mysql> select least("b","a","c");   

  -> "a"    

greatest(x,y,...)   

返回最大值(其余同least()) 

mysql> select greatest(2,0);   

  -> 2   

mysql> select greatest(34.0,3.0,5.0,767.0);   

  -> 767.0   

mysql> select greatest("b","a","c");   

  -> "c"    

3、时期时间函数

dayofweek(date)   

返回日期date是星期几(1=星期天,2=星期一,……7=星期六,odbc标准) 

mysql> select dayofweek('1998-02-03');   

  -> 3    

weekday(date)   

返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。

mysql> select weekday('1997-10-04 22:23:00');   

  -> 5   

mysql> select weekday('1997-11-05');   

  -> 2    

dayofmonth(date)   

返回date是一月中的第几日(在1到31范围内)   

mysql> select dayofmonth('1998-02-03');   

  -> 3    

dayofyear(date)   

返回date是一年中的第几日(在1到366范围内)   

mysql> select dayofyear('1998-02-03');   

  -> 34    

month(date)   

返回date中的月份数值   

mysql> select month('1998-02-03');   

  -> 2    

dayname(date)   

返回date是星期几(按英文名返回) 

mysql> select dayname("1998-02-05");   

  -> 'thursday'    

monthname(date)   

返回date是几月(按英文名返回) 

mysql> select monthname("1998-02-05");   

  -> 'february'    

quarter(date)   

返回date是一年的第几个季度   

mysql> select quarter('98-04-01');   

  -> 2    

week(date,first)  

返回date是一年的第几周(first默认值0,first取值1表示周一是

周的开始,0从周日开始) 

mysql> select week('1998-02-20');   

  -> 7   

mysql> select week('1998-02-20',0);   

  -> 7   

mysql> select week('1998-02-20',1);   

  -> 8    

year(date)   

返回date的年份(范围在1000到9999)   

mysql> select year('98-02-03');   

  -> 1998    

hour(time)   

返回time的小时数(范围是0到23)  

mysql> select hour('10:05:03');   

  -> 10    

minute(time)   

返回time的分钟数(范围是0到59)   

mysql> select minute('98-02-03 10:05:03');   

  -> 5    

second(time)   

返回time的秒数(范围是0到59)  

mysql> select second('10:05:03');   

  -> 3    

period_add(p,n)   

增加n个月到时期p并返回(p的格式yymm或yyyymm)   

mysql> select period_add(9801,2);   

  -> 199803    

period_diff(p1,p2)   

返回在时期p1和p2之间月数(p1和p2的格式yymm或yyyymm) 

mysql> select period_diff(9802,199703);   

  -> 11   

date_add(date,interval expr type) 

date_sub(date,interval expr type)   

adddate(date,interval expr type)   

subdate(date,interval expr type) 

对日期时间进行加减法运算 

(adddate()和subdate()是date_add()和date_sub()的同义词,也

可以用运算符+和-而不是函数 

date是一个datetime或date值,expr对date进行加减法的一个表

达式字符串type指明表达式expr应该如何被解释 

 [type值 含义 期望的expr格式]: 

 second 秒 seconds   

 minute 分钟 minutes   

 hour 时间 hours   

 day 天 days   

 month 月 months   

 year 年 years   

 minute_second 分钟和秒 "minutes:seconds"   

 hour_minute 小时和分钟 "hours:minutes"   

 day_hour 天和小时 "days hours"   

 year_month 年和月 "years-months"   

 hour_second 小时, 分钟, "hours:minutes:seconds"   

 day_minute 天, 小时, 分钟 "days hours:minutes"   

 day_second 天, 小时, 分钟, 秒 "days

hours:minutes:seconds"

 expr中允许任何标点做分隔符,如果所有是date值时结果是一个

date值,否则结果是一个datetime值) 

 如果type关键词不完整,则mysql从右端取值,day_second因为缺

少小时分钟等于minute_second) 

 如果增加month、year_month或year,天数大于结果月份的最大天

数则使用最大天数)   

mysql> select "1997-12-31 23:59:59" + interval 1 second; 

-> 1998-01-01 00:00:00   

mysql> select interval 1 day + "1997-12-31";   

  -> 1998-01-01   

mysql> select "1998-01-01" - interval 1 second;   

  -> 1997-12-31 23:59:59   

mysql> select date_add("1997-12-31 23:59:59",interval 1

second);   

  -> 1998-01-01 00:00:00   

mysql> select date_add("1997-12-31 23:59:59",interval 1

day);   

  -> 1998-01-01 23:59:59   

mysql> select date_add("1997-12-31 23:59:59",interval

"1:1" minute_second);   

  -> 1998-01-01 00:01:00   

mysql> select date_sub("1998-01-01 00:00:00",interval "1

1:1:1" day_second);   

  -> 1997-12-30 22:58:59   

mysql> select date_add("1998-01-01 00:00:00", interval "-1

10" day_hour); 

  -> 1997-12-30 14:00:00   

mysql> select date_sub("1998-01-02", interval 31 day);   

  -> 1997-12-02   

mysql> select extract(year from "1999-07-02");   

  -> 1999   

mysql> select extract(year_month from "1999-07-02

01:02:03");   

  -> 199907   

mysql> select extract(day_minute from "1999-07-02

01:02:03");   

  -> 20102    

to_days(date)   

返回日期date是西元0年至今多少天(不计算1582年以前) 

mysql> select to_days(950501);   

  -> 728779   

mysql> select to_days('1997-10-07');   

  -> 729669    

from_days(n)   

 给出西元0年至今多少天返回date值(不计算1582年以前)  

mysql> select from_days(729669);   

  -> '1997-10-07'    

date_format(date,format)   

 根据format字符串格式化date值 

 (在format字符串中可用标志符: 

 %m 月名字(january……december)   

 %w 星期名字(sunday……saturday)   

 %d 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)   

 %y 年, 数字, 4 位   

 %y 年, 数字, 2 位   

 %a 缩写的星期名字(sun……sat)   

 %d 月份中的天数, 数字(00……31)   

 %e 月份中的天数, 数字(0……31)   

 %m 月, 数字(01……12)   

 %c 月, 数字(1……12)   

 %b 缩写的月份名字(jan……dec)   

 %j 一年中的天数(001……366)   

 %h 小时(00……23)   

 %k 小时(0……23)   

 %h 小时(01……12)   

 %i 小时(01……12)   

 %l 小时(1……12)   

 %i 分钟, 数字(00……59)   

 %r 时间,12 小时(hh:mm:ss [ap]m)   

 %t 时间,24 小时(hh:mm:ss)   

 %s 秒(00……59)   

 %s 秒(00……59)   

 %p am或pm   

 %w 一个星期中的天数(0=sunday ……6=saturday )   

 %u 星期(0……52), 这里星期天是星期的第一天   

 %u 星期(0……52), 这里星期一是星期的第一天   

 %% 字符% ) 

mysql> select date_format('1997-10-04 22:23:00','%w %m %

y');   

  -> 'saturday october 1997'   

mysql> select date_format('1997-10-04 22:23:00','%h:%i:%

s');   

  -> '22:23:00'   

mysql> select date_format('1997-10-04 22:23:00','%d %y %a

%d %m %b %j');   

  -> '4th 97 sat 04 10 oct 277'   

mysql> select date_format('1997-10-04 22:23:00','%h %k %i

%r %t %s %w');   

  -> '22 22 10 10:23:00 pm 22:23:00 00 6'    

time_format(time,format) 

 和date_format()类似,但time_format只处理小时、分钟和秒(其

余符号产生一个null值或0)  

curdate()    

current_date() 

 以'yyyy-mm-dd'或yyyymmdd格式返回当前日期值(根据返回值所

处上下文是字符串或数字)   

mysql> select curdate();   

  -> '1997-12-15'   

mysql> select curdate() + 0;   

  -> 19971215    

curtime()   

current_time() 

 以'hh:mm:ss'或hhmmss格式返回当前时间值(根据返回值所处上

下文是字符串或数字)     

mysql> select curtime();   

  -> '23:50:26'   

mysql> select curtime() + 0;   

  -> 235026    

now()   

sysdate()   

current_timestamp() 

 以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回当前日期

时间(根据返回值所处上下文是字符串或数字)    

mysql> select now();   

  -> '1997-12-15 23:50:26'   

mysql> select now() + 0;   

  -> 19971215235026    

unix_timestamp()   

unix_timestamp(date)   

返回一个unix时间戳(从'1970-01-01 00:00:00'gmt开始的秒

数,date默认值为当前时间) 

mysql> select unix_timestamp();   

  -> 882226357   

mysql> select unix_timestamp('1997-10-04 22:23:00');   

  -> 875996580    

from_unixtime(unix_timestamp)   

以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回时间戳的

值(根据返回值所处上下文是字符串或数字)    

mysql> select from_unixtime(875996580);   

  -> '1997-10-04 22:23:00'   

mysql> select from_unixtime(875996580) + 0;   

  -> 19971004222300    

from_unixtime(unix_timestamp,format)   

以format字符串格式返回时间戳的值 

mysql> select from_unixtime(unix_timestamp(),'%y %d %m %

h:%i:%s %x');   

  -> '1997 23rd december 03:43:30 x'    

sec_to_time(seconds)   

以'hh:mm:ss'或hhmmss格式返回秒数转成的time值(根据返回值所处上下文是字符串或数字)    

mysql> select sec_to_time(2378);   

  -> '00:39:38'   

mysql> select sec_to_time(2378) + 0;   

  -> 3938    

time_to_sec(time)   

返回time值有多少秒   

mysql> select time_to_sec('22:23:00');   

  -> 80580   

mysql> select time_to_sec('00:39:38');   

  -> 2378 

转换函数

cast

用法:cast(字段 as 数据类型) [当然是否可以成功转换,还要看数据类型强制转化时注意的问题]

实例:select cast(a as unsigned) as b from cardserver where order by b desc;

convert:

用法:convert(字段,数据类型)

实例:select convert(a ,unsigned) as b from cardserver where order by b desc;



一下是php的函数汇总,可以作为资料参照

如何错误信息可以留言反馈,谢谢

 ----------函数列表--------------------------------





数学函数:12

    abs(number)

        求绝对值

    ceil(float)

        进一法取整

    floor(float)

        舍去法取整

    fmod($x,$b)//$x>$b

        浮点数取余

    pow(number,number)

        返回数的n次方

    round(float)

        浮点数四舍五入

    sqrt(int)

        求平方根

    max(number,...)

        求最大值

    min(number,....)

        求最小值

    mt_rand(a,b)

        更好的随机数

    rand(number1,number2)

        随机数

    pi(viod)

        获取圆周率值

 ---------时间函数(8)------------   

时间函数:8

    time(viod) //返回int

        返回当前的 Unix 时间戳

    mktime(0, 0, 0, 4, 25, 2012)

        取得一个日期的 Unix 时间戳

    date('Y年m月d日 H:i:s')//2012年04月25日 20:45:54

        格式化一个本地时间/日期

    checkdate( int $month , int $day , int $year)//返回 TRUE/ FALSE

        验证一个格里高里日期

    date_default_timezone_set('PRC')

        设定用于一个脚本中所有日期时间函数的默认时区

    getdate([ int $timestamp ])//array

        取得日期/时间信息

    strtotime( string $time [, int $now ] )//int

        将任何英文文本的日期时间描述解析为 Unix 时间戳

    microtime([ bool $get_as_float ])//mixed

        返回当前 Unix 时间戳和微秒数

 ---------数组函数(44)------------    

数组创建:5

    array()//返回值array

        生成一个数组

    array_combine(array $keys , array $values)//返回值array

        生成一个数组,用一个数组的值作为键名,另一个数组值作为值

    range(mixed $start , mixed $limit [, number $step = 1 ])//返回值:array

        创建并返回一个包含指定范围的元素的数组。

    compact(mixed $varname [, mixed $... ])//返回:array

        创建一个由参数所带变量组成的数组

    array_fill(int $start_index , int $num , mixed $value )//返回:array

        用给定的填充(值生成)数组

数组合并和拆分:3

    array_chunk(array $input , int $size [, bool $preserve_keys = false ])//返回:array

        把一个数组分割为新的数组块

    array_merge(array $array1 [, array $... ])

        把两个或多个数组合并为一个数组。

    array_slice(array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]])//array_slice($a,1,3)

        在数组中根据条件取出一段值,并返回。

数组比较:2

    array_diff($a1,$a2)

        返回两个数组的差集数组

    array_intersect($a1,$a2)

        返回两个或多个数组的交集数组

数组查找替换:5

    array_search(mixed $needle(搜索的值) , array $haystack(搜索的数组) [, bool $strict = false ])

        在数组中查找一个值,返回一个键,没有返回返回假

    array_splice($a1,0,2,$a2)

        把数组中一部分删除用其他值替代

    array_sum($a)

        返回数组中所有值的总和

    in_array("Glenn",$people)//返回true/false

        在数组中搜索给定的值,区分大小写

    array_key_exists(mixed $key , array $search)//返回bool

        判断某个数组中是否存在指定的 key

数组指针操作:11

    key(array &$array)

        返回数组内部指针当前指向元素的键名

    current(array &$array)

        返回数组中的当前元素(单元)。

    next(array &$array)

        把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值

    prev(array &$array)

        把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值

    end(array &$array)

        将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)

    reset(array &$array)

        把数组的内部指针指向第一个元素,并返回这个元素的值

    list()

        用数组中的元素为一组变量赋值

    array_shift(array &$array)

        删除数组中的第一个元素,并返回被删除元素的值

    array_unshift(array &$array , mixed $var [, mixed $... ])

        在数组开头插入一个或多个元素

    array_push(array &$array , mixed $var [, mixed $... ] )

        向数组最后压入一个或多个元素

    array_pop(array &$array)

        删除数组中的最后一个元素

数组键值操作:10

    shuffle(array &$array)//bool

        将数组打乱,不保留键名

    count(mixed $var [, int $mode = COUNT_NORMAL ])

        计算数组中的单元数目或对象中的属性个数

    array_flip(array &$array)

        返回一个键值反转后的数组

    array_keys(array &$array)

        返回数组所有的键,组成一个数组

    array_values(array &$array)

        返回数组中所有值,组成一个数组

    array_reverse(array &$array)

        返回一个元素顺序相反的数组

    array_count_values(array &$array)

         统计数组中所有的值出现的次数

    array_rand(array $input [, int $num_req = 1 ])

        从数组中随机抽取一个或多个元素,注意是键名!!!

    each(array &$array)//array

        返回数组中当前的键/值对并将数组指针向前移动一步

    array_unique(array $array [, int $sort_flags = SORT_STRING ])

        删除重复值,返回剩余数组

数组排序:8

    sort(array &$array)//返回true/false

    按升序对给定数组的值排序,不保留键名

    rsort(array &$array)

        对数组逆向排序,不保留键名

    asort(array &$array)

        对数组排序,保持索引关系

    arsort()

        对数组逆向排序,保持索引关系

    ksort()

        按键名对数组排序

    krsort()

        将数组按照键逆向排序

    natsort()

        用自然顺序算法对数组中的元素排序

    natcasesort()

        自然排序,不区分大小写

-----------字符串函数(59)--------

去空格或或其他字符:5

    trim($str)

        删除字符串两端的空格或其他预定义字符

    rtrim($str)

        删除字符串右边的空格或其他预定义字符

    chop($str)

        rtrim()的别名

    ltrim($str)

        删除字符串左边的空格或其他预定义字符

    dirname("c:/testweb/home.php")

        返回路径中的目录部分

字符串生成与转化:8

    str_pad($str,20,".")

        把字符串填充为指定的长度

    str_repeat(要重复的字符串|字符串将被重复的次数)

        重复使用指定字符串

    str_split(要分割的字符串|每个数组元素的长度,默认1)

        把字符串分割到数组中

    strrev(目标字符串)

        反转字符串

    wordwrap(目标字符串|最大宽数)

        按照指定长度对字符串进行折行处理

    str_shuffle()

        随机地打乱字符串中所有字符

    parse_str(要解析的字符串|存储变量的数组名称)

        将字符串解析成变量

    number_format(要格式化的数字|规定多少个小数|规定用作小数点的字符串|规定用作千位分隔符的字符串)

        通过千位分组来格式化数字

大小写转换:4

    strtolower($str)

        字符串转为小写

    strtoupper($str)

        字符串转为大写

    ucfirst($str)

        字符串首字母大写

    ucwords($str)

        字符串每个单词首字符转为大写

html标签关联:11

    htmlentities()

        把字符转为HTML实体

    htmlspecialchars()

        预定义字符转html编码

    nl2br()

        \n转义为标签

    strip_tags()

        剥去 HTML、XML 以及 PHP 的标签

    addcslashes()

        在指定的字符前添加反斜线转义字符串中字符

    stripcslashes()

        删除由addcslashes()添加的反斜线

    addslashes(目标字符串|指定的特定字符或字符范围)

        指定预定义字符前添加反斜线

    stripslashes()

        删除由addslashes()添加的转义字符

    quotemeta($str)

        在字符串中某些预定义的字符前添加反斜线

    chr(ASCII值)

        从指定的 ASCII 值返回字符

    ord($str)

        返回字符串第一个字符的 ASCII 值

字符串比较:6

    strcasecmp(string $str1 , string $str2 )//大1|等0|小-1

        不区分大小写比较两字符串

    strcmp()

        区分大小写比较两字符串

    strncmp()

        比较字符串前n个字符,区分大小写

    strncasecmp()

        比较字符串前n个字符,不区分大小写

    strnatcmp()

        自然顺序法比较字符串长度,区分大小写

    strnatcasecmp()

        自然顺序法比较字符串长度,不区分大小写

字符串切割与拼接:5

    chunk_split()//分割后的字符串

        将字符串分成小块

    strtok()//返回切割后的字符串

        切开字符串

    explode()//字符串被分割后形成的数组

        使用一个字符串为标志分割另一个字符串

    implode()

        同join,将数组值用预订字符连接成字符串

    substr()

        截取字符串

字符串查找替换:16

    str_replace()

        字符串替换操作,区分大小写

    str_ireplace()

        字符串替换操作,不区分大小写

    substr_count()

        统计一个字符串,在另一个字符串中出现次数

    substr_replace()

        替换字符串中某串为另一个字符串

    similar_text()//整形,相同字符数量

        返回两字符串相同字符的数量

    strrchr()

        返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串

    strstr()

        返回一个字符串在另一个字符串中开始位置到结束的字符串

    strchr()

        strstr()的别名,返回一个字符串在另一个字符串中首次出现的位置开始到末尾的字符串

    stristr()

        返回一个字符串在另一个字符串中开始位置到结束的字符串,不区分大小写

    strtr()

        转换字符串中的某些字符

    strpos()

        寻找字符串中某字符最先出现的位置

    stripos()

        寻找字符串中某字符最先出现的位置,不区分大小写

    strrpos()

        寻找某字符串中某字符最后出现的位置

    strripos()

        寻找某字符串中某字符最后出现的位置,不区分大小写

    strspn()

        返回字符串中首次符合mask的子字符串长度

    strcspn()//返回从开始到第几个字符

        返回字符串中不符合mask的字符串的长度

字符串统计:3

    str_word_count()

        统计字符串含有的单词数

    strlen()

        统计字符串长度

    count_chars()

        统计字符串中所有字母出现次数(0..255)

字符串编码:1

    md5()

        字符串md5编码


<style type="text/css">

        .page>div>a, .page>div>span {

            position: relative;

            padding: 6px 12px;

            margin-left: -1px;

            line-height: 1.42857143;

            color: #337ab7;

            text-decoration: none;

            background-color: #fff;

            border: 1px solid #ddd;

            top:27px;

        }

    .page>div>span {

            background-color: #d4cdcd;

        }

</style>

<div class="page">{$page}</div>