西班牙广场,塞维利亚,西班牙 (© Horia Merla/Getty Images)

Welcom to 评论 - lizhenqiu blog!

    #495

    作者:广西河池市宜州市
    PHP判断文件是否为图片
    <?php # Script -- isimg3.php /* Author @ Huoty * Date @ 2015-11-25 16:53:04 * Brief @ */ $mimetype = exif_imagetype("1.jpg"); if ($mimetype == IMAGETYPE_GIF || $mimetype == IMAGETYPE_JPEG || $mimetype == IMAGETYPE_PNG || $mimetype == IMAGETYPE_BMP) { echo "是图片"; }
    Run code
    Cut to clipboard

      IMAGETYPE_GIF IMAGETYPE_JPEG IMAGETYPE_PNG IMAGETYPE_SWF IMAGETYPE_PSD IMAGETYPE_BMP IMAGETYPE_TIFF_II(Intel 字节顺序) IMAGETYPE_TIFF_MM(Motorola 字节顺序) IMAGETYPE_JPC IMAGETYPE_JP2 IMAGETYPE_JPX IMAGETYPE_JB2 IMAGETYPE_SWC IMAGETYPE_IFF IMAGETYPE_WBMP IMAGETYPE_XBM
      Run code
      Cut to clipboard
        文章:模仿优酷首页的一些前端布局  发表时间:2018-06-21, 17:42:21  
        展开↯

        #496

        作者:广西南宁市
        swiper多个轮播图盒子
        <script> var swiper = new Swiper('.swiper-container', { slidesPerView: 3, spaceBetween: 30, pagination: { el: '.swiper-pagination', clickable: true, }, }); </script>
        Run code
        Cut to clipboard

          指示器分页器
          <script> var mySwipers = new Swiper('.swiper-container2', { //autoplay: true,//可选选项,自动滑动 navigation: { nextEl: '.you', prevEl: '.zuo', }, spaceBetween: 0, slidesPerView: 3 }) </script>
          Run code
          Cut to clipboard

            js要写在css html后面
            #,广西南宁市,2018-01-12,16:30:25,
            统计加载点击代码
            <script> /*异步加载 - 在线交流 - 站长统计 */ var gz_weburl='/'; var lang='cn'; var classnow='314'; var id=''; var url=gz_weburl+'include/interface/uidata.php?lang='+lang,h = 'http://www.ihosu.com/index.php/Home/About/index/cid/314.html'; if(h.indexOf("preview=1")!=-1)url = url + '&theme_preview=1'; $.ajax({ type: "POST", url: url, dataType:"json", success: function(msg){ var c = msg.config; if(c.gz_stat==1){ //站长统计 var navurl=classnow==10001?'':'../'; var stat_d=classnow+'-'+id+'-'+lang; var url = gz_weburl+'include/stat/stat.php?type=para&u='+navurl+'&d='+stat_d; $.getScript(url); } } }); //var metClicks = $(".metClicks");//点击次数 var ClicksListnow=''; var weburl='/'; if(ClicksListnow){ //var DataClicks = metClicks.data("metclicks"); //ClicksStr=DataClicks.split("|"); var ClicksModule = 'news';//ClicksStr[0],ClicksListnow = ClicksStr[1]; var urlw = weburl+'include/hits.php?type='+ClicksModule+'&id='+ClicksListnow; $.ajax({ type: "POST", url: urlw, dataType:"text", success: function(msg){ //var t = msg.split('"'); //metClicks.html(t[1]); } }); } </script>
            Run code
            Cut to clipboard
              #,广西南宁市,2018-01-12,17:26:45,
              上面代码是静态页面js错误的,下面是后台代码
              <script> /*异步加载 - 在线交流 - 站长统计 */ var gz_weburl='/'; var lang='cn'; var classnow='{$cid}'; var id='<?php echo $_GET['id'];?>'; var url=gz_weburl+'include/interface/uidata.php?lang='+lang,h = '<?php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>'; if(h.indexOf("preview=1")!=-1)url = url + '&theme_preview=1'; $.ajax({ type: "POST", url: url, dataType:"json", success: function(msg){ var c = msg.config; if(c.gz_stat==1){ //站长统计 var navurl=classnow==10001?'':'../'; var stat_d=classnow+'-'+id+'-'+lang; var url = gz_weburl+'include/stat/stat.php?type=para&u='+navurl+'&d='+stat_d; $.getScript(url); } } }); //var metClicks = $(".metClicks");//点击次数 var ClicksListnow='<?php echo $_GET['id'];?>'; var weburl='/'; if(ClicksListnow){ //var DataClicks = metClicks.data("metclicks"); //ClicksStr=DataClicks.split("|"); var ClicksModule = 'news';//ClicksStr[0],ClicksListnow = ClicksStr[1]; var urlw = weburl+'include/hits.php?type='+ClicksModule+'&id='+ClicksListnow; $.ajax({ type: "POST", url: urlw, dataType:"text", success: function(msg){ //var t = msg.split('"'); //metClicks.html(t[1]); } }); } </script>
              Run code
              Cut to clipboard
                #,广西南宁市,2018-01-17,12:54:52,
                pagination: { el: '.swiper-pagination', clickable: true, }
                Run code
                Cut to clipboard
                  #,广西河池市宜州市,2018-06-21,11:00:47,@2,
                  404错误页面
                  <!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 http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>404-对不起!您访问的页面不存在</title> <style type="text/css"> .head404{ width:580px; height:234px; margin:50px auto 0 auto; background:url(http://www.resonance.com.cn/head404.png) no-repeat; } .txtbg404{ width:499px; height:169px; margin:10px auto 0 auto; background:url(http://www.resonance.com.cn/txtbg404.png) no-repeat;} .txtbg404 .txtbox{ width:390px; position:relative; top:30px; left:60px;color:#eee; font-size:13px;} .txtbg404 .txtbox p {margin:5px 0; line-height:18px;} .txtbg404 .txtbox .paddingbox { padding-top:15px;} .txtbg404 .txtbox p a { color:#eee; text-decoration:none;} .txtbg404 .txtbox p a:hover { color:#FC9D1D; text-decoration:underline;} </style> </head> <body bgcolor="#494949"> <div class="head404"></div> <div class="txtbg404"> <div class="txtbox"> <p class="paddingbox">对不起,您请求的页面不存在、或已被删除、或暂时不可用</p> <p>请点击以下链接继续浏览网页</p> <p>》<a style="cursor:pointer" onclick="history.back()">返回上一页面</a></p> <p>》<a href="/">返回网站首页</a></p> </div> </div> </body> </html>
                  Run code
                  Cut to clipboard
                    #,广西河池市宜州市,2018-06-21,11:18:38,@4,
                    兼容手机版移动设备404错误页面
                    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>/(ㄒoㄒ)/~~</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <style>*{padding:0;margin:0}a{text-decoration:none}.notfoud-container .img-404{height:155px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARUAAAEGCAYAAABLrAHXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMDBBQzI5ODU4NjNFMTExOENDN0E4Qzc0NTMzRDM1OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMzA0QkFCNEVFRkQxMUU0QkM0OUJCNTk4RTIyMEUyMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMzA0QkFCM0VFRkQxMUU0QkM0OUJCNTk4RTIyMEUyMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNzFmOGFkMy00MzRlLTRkYmUtOTJkYi04ODY1ZTE0NmI3NDQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMDY2OGM2MS0yOTZlLTExNzgtYmU3NS04ODg3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) center center no-repeat;-webkit-background-size:150px auto;margin-top:40px;margin-bottom:20px}.notfoud-container .notfound-p{line-height:22px;font-size:17px;padding-bottom:15px;border-bottom:1px solid #f6f6f6;text-align:center;color:#262b31}.notfoud-container .notfound-reason{color:#9ca4ac;font-size:13px;line-height:13px;text-align:left;width:210px;margin:0 auto}.notfoud-container .notfound-reason p{margin-top:13px}.notfoud-container .notfound-reason ul li{margin-top:10px;margin-left:36px}.notfoud-container .notfound-btn-container{margin:40px auto 0;text-align:center}.notfoud-container .notfound-btn-container .notfound-btn{display:inline-block;border:1px solid #ebedef;background-color:#239bf0;color:#fff;font-size:15px;border-radius:5px;text-align:center;padding:10px;line-height:16px;white-space:nowrap}</style> </head> <body> <div class="notfoud-container"> <div class="img-404"> </div> <p class="notfound-p">哎呀迷路了...</p> <div class="notfound-reason"> <p>可能的原因:</p> <ul> <li>原来的页面不存在了</li> <li>我们的服务器被外星人劫持了</li> </ul> </div> <div class="notfound-btn-container"> <a class="notfound-btn" href="/">返回首页</a> </div> </div> </body> </html>
                    Run code
                    Cut to clipboard
                      #,广西河池市宜州市,2018-06-21,11:20:03,
                      <?php $config = array( 'DEFAULT_THEME' => SHOUJIZHANOK ,'TMPL_EXCEPTION_FILE' => APP_PATH . '/Tpl/Home/'.SHOUJIZHANOK.'/Public/exception.html' ); return $config ;
                      Run code
                      Cut to clipboard

                        \GZphp\Conf\Home
                        Run code
                        Cut to clipboard

                          $the_host = $_SERVER['HTTP_HOST'];//取得当前域名 if($the_host == SHOUJIZHANOKURL){ //手机 define('SHOUJIZHANOK', 'mDefault'); }else{ define('SHOUJIZHANOK', 'Default'); }
                          Run code
                          Cut to clipboard
                            #,广西河池市宜州市,2018-06-21,14:58:24,
                            IIS 7 以上 web.config 中设置全局的错误时,如果用编辑器,可能会提示“锁定冲突”,原因是全局的设置锁定了此项,不让修改。 解决方法如下:

                            文章:常用html、demo代码  发表时间:2018-01-12, 14:49:27  
                            展开↯

                            #497

                            作者:广西南宁市
                            #,广西南宁市,2018-06-20,23:04:03,
                            #,广西南宁市,2018-06-20,23:11:23,
                            文章:站时系扣,坐时解扣-西装礼仪  发表时间:2018-06-20, 22:18:50  
                            展开↯

                            #498

                            作者:广西河池市宜州市
                            <script type="text/javascript"> window.onload=function(){ var obox=document.getElementById("box"); var oshow=document.getElementById("show"); var nodes=obox.getElementsByTagName("*"); oshow.innerHTML=nodes.length; } </script>
                            Run code
                            Cut to clipboard
                              文章:模仿优酷首页的一些前端布局  发表时间:2018-06-20, 16:13:14  
                              展开↯

                              #499

                              作者:广西河池市宜州市
                              Jquery 兼容写法
                              jQuery event 事件对象,包含有 event.offsetX, event.clientX,event.pageX,event.screenX等属性(firefox 浏览器中, offsetX 为 undefined)。firefox 获取 offsetX / offsetY 的值,需要通过 event 对象的属性 originalEvent
                              $(function(){ $("#box").mousedown(function(event){ console.log(event.offsetX, event.offsetY); console.log(event.clientX, event.clientY); console.log(event.pageX, event.pageY); console.log(event.screenX, event.screenY); /* firefox */ console.log(event.originalEvent.layerX, event.originalEvent.layerY); }); });
                              Run code
                              Cut to clipboard




                                文章:模仿优酷首页的一些前端布局  发表时间:2018-06-20, 16:12:18  
                                展开↯

                                #500

                                作者:广西河池市宜州市
                                var oZuolist = document.getElementsByClassName('zuo2'); for(var i=0;i<oZuolist.length;i++){ oZuolist[i].onmouseover=function(){ //注意涉及到这个对象不能使用oZuolist[i],要用this代替 } }
                                Run code
                                Cut to clipboard

                                  var oZuo = document.getElementsByClassName('zuo2'); 获取的是一个dom集合 而不是一个dom 对象,你无法对js的集合绑定事件 var oZuo = document.getElementsByClassName('zuo2')[0]; 就可以
                                  Run code
                                  Cut to clipboard
                                    文章:模仿优酷首页的一些前端布局  发表时间:2018-06-20, 16:10:13  
                                    展开↯

                                    #501

                                    作者:广西河池市宜州市
                                    js取整数、取余数的方法
                                    1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法 FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IE abs(x) 返回数的绝对值 1 2 3 acos(x) 返回数的反余弦值 1 2 3 asin(x) 返回数的反正弦值 1 2 3 atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3 atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3 ceil(x) 对一个数进行上舍入。 1 2 3 cos(x) 返回数的余弦 1 2 3 exp(x) 返回 e 的指数。 1 2 3 floor(x) 对一个数进行下舍入。 1 2 3 log(x) 返回数的自然对数(底为e) 1 2 3 max(x,y) 返回 x 和 y 中的最高值 1 2 3 min(x,y) 返回 x 和 y 中的最低值 1 2 3 pow(x,y) 返回 x 的 y 次幂 1 2 3 random() 返回 0 ~ 1 之间的随机数 1 2 3 round(x) 把一个数四舍五入为最接近的整数 1 2 3 sin(x) 返回数的正弦 1 2 3 sqrt(x) 返回数的平方根 1 2 3 tan(x) 返回一个角的正切 1 2 3 toSource() 代表对象的源代码 1 4 - valueOf() 返回一个 Math 对象的原始值
                                    Run code
                                    Cut to clipboard
                                      文章:模仿优酷首页的一些前端布局  发表时间:2018-06-20, 16:08:28  
                                      展开↯

                                      #502

                                      作者:广西河池市宜州市
                                      jq和js用mousemove获取鼠标当前位置
                                      <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>jq获取鼠标的位置</title> <style> div{ width: 500px; height: 500px; background-color: #585858; margin: 0; padding: 0; } </style> <script type="text/javascript" src="../../js/jquery-3.1.1.min.js"></script> </head> <body> <div id="d"> </div> </body> <script type="text/javascript"> $('#d').mousemove(function(f){ /* var xx = f.originalEvent.x|| f.originalEvent.layerX||0; var yy = f.originalEvent.y|| f.originalEvent.layerY||0;*/ var xx = f.pageX; var yy = f.pageY; $(this).text(xx+','+yy); }) /*根据出现的“originalEvent”一词可猜测题主的本意是比较jquery下 e.pageX和e.originalEvent.x的区别(因为originalEvent是jq在对构造一个jq版e对象后引用的原始e对象)。 根据jq源码,jq版e对象下的pageX和原生的pageX是一致的,但是增加了对旧版本IE的实现部分。 于是题目可蜕化为原生e.pageX与e.x的区别,以及jq为IE8-浏览器实现的e.pageX与原生e.x的区别。 考虑jq的跨平台特性,我们在不清楚具体情况的时候,直接通过其补丁的实现方式来猜测属性的定义。 根据jq对无原生pageX的浏览器的补丁实现 event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); 到这里我们已经基本清楚pageX的涵义,是包含了滚动条的计算的。 实际上,e.pageX在各(支持的)浏览器下的表现都是一致的,都是表达点击位置相对于整个文档的位置,用题主的话说就是“计算了滚动条”。 兼容性来说,e.pageX除了在IE系列中低于IE9的版本中是不支持的,IE9+和其它主流浏览器全部一致支持。 可是e.x的情况很复杂…… 首先,fx不支持e.x。这没啥好说的。 其次,除IE外的其它主流浏览器,opera、chrome(以及其它同内核的浏览器),都支持e.x属性, 其值为“相对可视区域的坐标”——没错,对它们来说,e.x == e.clientX。用题主的话说就是“没有计算滚动条”。 再来看看e.x属性的发明者IE。IE全系列支持e.x 被点击对象所在的坐标系(即最近一个指定position: relative的tag的左上角的border外边界为原点)的坐标位置。 如果自身及上层均没有指定position: relative属性,则蜕变为相对于“相对可视区域的坐标”。 题外话,通过F12发现,IE一旦涉及滚动条后计算居然不是整像素数,而是会出现误差小数的!*/ </script> </html> <!--<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>javascript获得鼠标位置</title> </head> <body> <script> function mouseMove(ev) { Ev= ev || window.event; var mousePos = mouseCoords(ev); document.getElementById("xxx").value = mousePos.x; document.getElementById("yyy").value = mousePos.y; } function mouseCoords(ev) { if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return{ x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } document.onmousemove = mouseMove; </script> 鼠标X轴: <input id=xxx type=text> 鼠标Y轴: <input id=yyy type=text> </body> -->
                                      Run code
                                      Cut to clipboard
                                        #,广西河池市宜州市,2018-06-20,16:07:00,
                                        javascript判断鼠标移动的方向(左,上,右,下)
                                        function(wrap){ var wrap = document.getElementById(wrap); var hoverDir = function(e){ var w = wrap.offsetWidth, h = wrap.offsetHeight, x = ( e.clientX - wrap.offsetLeft - ( w / 2 ) ) * ( w > h ? ( h / w ) : 1 ), y = (e.clientY - wrap.offsetTop - (h / 2)) * (h > w ? (w / h) : 1), // 上(0) 右(1) 下(2) 左(3) direction = Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) ) + 180 ) / 90) + 3 ) % 4, eventType = e.type, dirName = new Array('上方','右侧','下方','左侧'); if( e.type == 'mouseover' || e.type == 'mouseenter' ){ wrap.innerHTML = dirName[direction] + '进入'; }else{ wrap.innerHTML = dirName[direction] + '离开'; } } if( window.addEventListener ){ wrap.addEventListener( 'mouseover',hoverDir,false ); wrap.addEventListener( 'mouseout',hoverDir,false ); }else if( window.attachEvent ){ wrap.attachEvent( 'onmouseenter',hoverDir ); wrap.attachEvent( 'onmouseleave',hoverDir ); } }
                                        Run code
                                        Cut to clipboard

                                          核心是 Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) 返回四个值
                                          #,广西河池市宜州市,2018-06-20,16:07:23,@1,
                                          左右还可用正负值判断方向
                                          #,广西河池市宜州市,2018-06-20,16:07:57,
                                          n[0].onload = function() { n.data("loaded", true); r.on("mousemove", function(e) { if (!n.data("loaded")) return; var t, r, i, o, l, c; c = $(this).width(); if (a.width != c) { u.widthCover = c; u.heightCover = c / u.scale; r = $(this).offset().left; n.css({ width: 3 * u.widthCover + "px", height: 3 * u.heightCover + "px" }); a.width != c } t = Math.abs(e.pageX - r + 5); f = t * 100 / u.widthCover; f = f > 100 ? 100 : f; s.css({ width: f + "%" }); i = Math.floor(t * 7 / u.widthCover); o = -1 * (i % 3) * u.widthCover; l = -1 * Math.floor(i / 3) * u.heightCover; if (a.left == o && a.top == l) { return } else { a.left = o; a.top = l } n.css({ left: o + "px", top: l + "px" }) }); r.show() }
                                          Run code
                                          Cut to clipboard
                                            文章:模仿优酷首页的一些前端布局  发表时间:2018-06-20, 16:05:28  
                                            展开↯

                                            #503

                                            作者:广西河池市宜州市
                                            con.style.backgroundPosition=x+"px "+y+"px"; 可以兼容所有的浏览器,但要注意第一个“px ”中有一个空格
                                            Run code
                                            Cut to clipboard
                                              #,广西河池市宜州市,2018-06-20,16:03:54,
                                              直接获取 document.querySelectorAll("div.aa") 类似属性选择器的写法 document.querySelectorAll("div[class='aa']") 补充一下还可以not选择器 document.querySelectorAll(".aa:not(ul)")
                                              Run code
                                              Cut to clipboard
                                                #,广西河池市宜州市,2018-06-20,16:04:36,
                                                //将NodeList转换成Array function transformList(list) { var arr = []; for(var i = 0; i < list.length; i++) { arr.push(list[i]); } return arr; } //查找一个父节点下指定类名的子节点 function getParentdElement(parentNode, childName) { //如果父节点parentNode含有指定类名childName,这个节点就是目标节点 if (parentNode.className.search(childName) !== -1) { console.log("if------"); console.log(parentNode); return parentNode; } else { //父节点不含有指定类名childName,递归查找它的子节点。 var nodes = parentNode.childNodes; //将子节点的list转换成标准数组并且过滤掉Text元素 nodes = transformList(nodes).filter(function(item){ if(item.nodeType !== 3) { return item; } else{ } }); //如果子节点数组中有值,则递归查找 if(nodes.length) { nodes.forEach(function(item) { getParentdElement(item, childName); }); } console.log("else------"); console.log(nodes); } } console.log(getParentdElement(document.querySelector(".parent"), "right"))
                                                Run code
                                                Cut to clipboard
                                                  文章:模仿优酷首页的一些前端布局  发表时间:2018-06-20, 16:03:30  
                                                  展开↯

                                                  #504

                                                  作者:广西
                                                  文章:站时系扣,坐时解扣-西装礼仪  发表时间:2018-06-16, 13:00:21  
                                                  展开↯

                                                  #505

                                                  作者:广西
                                                  https://m.baidu.com/sf_baijiahao/s?id=1590655925964277851&wfr=spider&for=pc
                                                  #,广西河池市宜州市,2018-06-14,09:58:15,

                                                  平常场合:
                                                  如果穿单排一粒扣西装,扣与不扣均可((系上端庄,不系潇洒))


                                                  单排一粒扣西装
                                                  如果是单排两粒扣西装,扣子全部不扣表示随意、轻松;扣一面上粒,表示庄重,而全扣就不合适了
                                                  如果是单排三粒扣西装,扣子全部不扣表示随意、轻松;只扣中间一扣表示正统;扣上面两粒,表示庄重,全扣也是不对的


                                                  单排三粒扣西装

                                                  三粒扣的话
                                                  上面的叫sometimes (经常)
                                                  中间的叫always (总是)
                                                  下面的叫never (从不)

                                                  扣满三粒。。。那是没文化的代言词。。。

                                                  西服钮扣扣法的基本原则是:双排扣全扣,单排扣扣上不扣下;双排扣西服靠近领口的多为装饰扣,不必扣上;单排扣的西服基本遵循扣上不扣下的原则
                                                  依照目前国际西装着装礼仪,男士站时系扣,坐时解扣

                                                  站时系扣
                                                  男士在站立的时候,请养成把西装扣好的习惯。因为这样您在讲话、比手势的时候,西装才不会随着您的肢体乱跑,整体线条看起来更显干净利落:

                                                  如果西装只有一粒扣子,请直接扣好
                                                  单排两粒扣的西装,只扣上面那一颗扣子就行


                                                  单排两粒扣西装
                                                  如果是单排三粒扣的西装,可以只扣中间那一颗,也可以扣上面的第一颗与第二颗扣子

                                                  如果是双排扣西装,可全部扣,亦可只扣上面一粒,表示轻松 、时髦,但不可不扣((双排扣西装的设计风格偏于稳重,纽扣的系法也相对保守))
                                                  如果穿三件套西装,则应扣好马甲上所有的扣子,外套的扣子不扣


                                                  三件套西装
                                                  按照约定俗成的习惯,最下面的那粒是不扣上的,除非去礼拜或者上法庭这样极其严肃的场合


                                                  双排扣西装
                                                  坐时解扣

                                                  一般来讲,若男士的西装太合身,当他没有解开西装扣就坐下时,整件西装外套就会被撑向两旁,不仅会在腹部出现横向紧绷的皱折,也会令肢体无法自由伸展,动作显得局促和紧张:

                                                  依照目前国际西装着装礼仪,男士坐下时,必须解开西装扣,如此西装才能随着身体的弧度,自然服贴地顺势而下,线条看起来比较流畅,也不会有束缚的感觉,也才能舒适自在地坐在位子上。

                                                  当然,西服上有扣与不扣讲究的纽扣并非只是前襟上的几粒。别忘了西服袖口还各有四粒纽扣呢,部分西服这四粒纽扣是直接钉上去的假纽扣,但是真正上佳的定制西服,最前端的两粒纽扣是真的,是可以解开的


                                                  西装是男士经常穿着的服装,所以,除了要注意不同款式扣子的扣法外,还应该注意搭配,如身上的颜色不能超过三种颜色或三种色系,在出席正式场合的时候,袜子也很讲究,不能穿尼龙丝袜和白色的袜子

                                                  建议:
                                                  各位男士,平时可多做西装解扣和系扣的练习:无论解扣或系扣,都不能低头看着西装,要以非常流畅、自然的手势来进行;并请记得“由下往上”依序解扣,而系扣时则要由“由上往下”依序扣起!

                                                  注意:
                                                  西装钮扣有装饰功能,扣法大有讲究。双排西装钮扣在任何正式场合都应扣上,否则给人以轻浮不稳重之感。单排扣西装如有两粒扣子,扣顶端一颗;3粒扣的,扣顶端前两颗。当然,单排西服也可以不扣,衣襟敞开,也能给人以轻松、潇洒之感
                                                  文章:站时系扣,坐时解扣-西装礼仪  发表时间:2018-06-14, 09:52:35  
                                                  展开↯

                                                  #506

                                                  作者:广西河池市宜州市
                                                  mysql数值字符串类型的按照数值进行排序
                                                  order by 字段名称+0 desc/asc的形式进行排序(亲测有效)
                                                  Run code
                                                  Cut to clipboard

                                                    order by 字段名称*1 desc/asc的形式进行排序( 没有进行测试 )
                                                    Run code
                                                    Cut to clipboard
                                                      文章:常用代码2  发表时间:2018-06-13, 10:45:53  
                                                      展开↯

                                                      #507

                                                      作者:广西河池市宜州市
                                                      js设置鼠标悬停改变背景色
                                                      $(function(){ var sign=document.getElementById("sign"); changBkColor(sign); }); function changBkColor(obj){ obj.onmouseover=function(){ this.className="over"; };//鼠标悬停事件 obj.onmouseout=function(){ this.className="out"; };//鼠标离开事件 obj.onmousedown=function(){this.className="down";};//鼠标点击时触发事件 }
                                                      Run code
                                                      Cut to clipboard

                                                        /* $(obj).hover(inFunction,outFunction) * 等同于$(obj).mouseover().mouseout(); */ $(function(){ $('#sign').hover(function() { $('#sign').addClass('over'); }, function() { $('#sign').removeClass('over').addClass('out'); }); });
                                                        Run code
                                                        Cut to clipboard
                                                          文章:常用代码2  发表时间:2018-06-13, 10:44:30  
                                                          展开↯

                                                          #508

                                                          作者:广西河池市宜州市
                                                          解决“你没有权限访问,请与网络管理员联系”

                                                          找到你要共享的文件夹,选中并且右键,选中属性,选择安全选项卡
                                                          点击安全选项卡下面的编辑,弹出编辑选项卡
                                                          在组或用户名下面,点击添加,弹出选中用户和组选项卡
                                                          点击左下角的高级,弹出新的选项卡
                                                          点击立即查找,在下面的搜索结果中选择everyone
                                                          点击确定,在输入对象名称下面出现了everyone
                                                          点击确定,在组合用户名下面出现了everyone,在everyone的权限中选择你允许的权限,如读取,改写,读取和写入等,一般可以选择完全控制。然后点击确定
                                                          最后可以查看在安全选项卡下面的组合用户名中已经有了everyone
                                                          下面就是设置共享了,点击共享选项卡,点击高级共享
                                                          勾选共享此文件夹复选框
                                                          点击权限,选择everyone,并设置你的权限
                                                          #,广西河池市宜州市,2018-06-13,10:38:12,
                                                          之前嘗試過 PPTP 和 OpenVPN ,但 PPTP 太弱,而 OpenVPN 太依賴第三方軟體,因此想說來試試看 L2TP/IPsec 架設的軟體使用 epel 上的 strongSwan 和 xl2tpd ,不用 openSwan 是因 OSX 在連線的時候會遇到伺服器端錯誤,據說是 openSwan 本身的問題 安裝前先把必要套件補完 yum install strongswan xl2tpd strongSwan 裝完之後可以在 /etc/strongswan 設定,裏頭的 strongswan.conf 沒特別設定不需要去動,預設是所有 plugin 都載入 在這之前,記得先調整 kernel 和 iptables sed -i 's/net.ipv4.ip_forward[ ]*=[ ]*0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf && sysctl -p # 啟動 ip_forward # 防火牆規則僅供參考 iptables -A INPUT -p udp --dport 500 -j ACCEPT # IKE iptables -A INPUT -p udp --dport 4500 -j ACCEPT # NAT-T iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT # 強制 l2tp 透過 ipsec 存取 iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE # 轉送 VPN 流量 /etc/init.d/iptables save 接著開始設定 IPsec 連線部分,我這邊使用 PSK ,其他驗證方法可以上官網文件查 /etc/strongswan/ipsec.conf config setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 conn l2tp keyexchange=ikev1 # IKE 版本 left=>>>>{對外 IP}<<<<<< leftsubnet=0.0.0.0/0 leftprotoport=17/1701 # l2tp udp 流量 authby=secret # PSK 驗證 leftfirewall=no # 不要讓 strongswan 更改防火牆 right=%any # 任意 IP rightprotoport=17/%any # 任意 port udp 流量 type=transport # ipsec transport mode auto=add /etc/strongswan/ipsec.secrets # ipsec.secrets - strongSwan IPsec secrets file : PSK "A long preshared key for ipsec" IPsec 這邊設定和網路上的不一樣是因為新的 strongswan 使用 charon 來處理 IKEv1 ,而不是以往的 pluto 而且有時候設定太多反而會有一些奇怪的錯誤,於是就留預設值 如此一來 IPsec 的部分就完成了,再來是 L2TP /etc/xl2tpd/xl2tpd.conf [global] listen-addr = >>>>{對外 IP}<<<< [lns default] ip range = 172.16.1.100-172.16.1.200; VPN 使用者配發的 IP 段 local ip = 172.16.1.1; VPN Server 本身的聯絡 IP assign ip = yes ;refuse chap = yes ;refuse pap = yes <<<我個人覺得有 ipsec 使用 pap 沒關係,而且某些情況下(例如 pam),必須使用 require authentication = yes unix authentication = yes; 使用 pam 驗證,用密碼檔記得刪掉這行 name = NyanVPNServer; 這個名字等一下會用到,可以任意取名 ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes 如果上面的 xl2tpd.conf 使用了 pam 驗證,要修改下面這個 /etc/pam.d/ppp #%PAM-1.0 auth required pam_nologin.so auth required pam_unix.so account required pam_unix.so session required pam_unix.so PPP 的部分 /etc/ppp/options.xl2tpd ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 # 推送的 DNS 資訊 ms-dns 8.8.4.4 # ms-dns 192.168.1.1 # ms-dns 192.168.1.3 # ms-wins 192.168.1.2 # ms-wins 192.168.1.4 noccp auth crtscts idle 1800 #mtu 1410 #mru 1410 mtu 1200 # 我也不知道 mtu/mru 怎麼設,不過這個會動 mru 1200 nodefaultroute debug lock proxyarp connect-delay 5000 login # 透過 PAP 使用系統密碼驗證,這也是為什麼前面不能拒絕 PAP 的原因 #require-mschap-v2 強迫使用 MS-CHAP-V2 最後是連線密碼, CHAP 和 PAP 的密碼檔是分開的,依照前面設定的內容和使用者的選擇而定 /etc/ppp/*-secrets # Secrets for authentication using PAP # client(帳號) server(前面提到的 name) secret(密碼) IP addresses(配發的 IP) alice NyanVPNServer "AliceIsCute" * # 下面這個是 PAM 的用法 * NyanVPNServer "" * 設定就到這邊為止,接著就可以啟動 VPN 了 service strongswan start service xl2tpd start 成功連上 VPN 之後,如果無法連外,檢查看看 iptables 的 FORWARD chain 是不是有阻擋連線的行為
                                                          Run code
                                                          Cut to clipboard
                                                            #,广西河池市宜州市,2018-06-13,10:39:19,
                                                            rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y update yum -y install strongswan yum -y install xl2tpd sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf sysctl -p iptables -A INPUT -p udp --dport 500 -j ACCEPT # IKE iptables -A INPUT -p udp --dport 4500 -j ACCEPT # NAT-T iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT # 強制l2tp透過ipsec存取 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE ip_addr=` ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'` echo "conn %default ikelifetime=24h keylife=24h rekeymargin=30m keyingtries=1 rekey=no conn l2tp keyexchange=ikev1 # IKE版本 left=$ip_addr leftsubnet=0.0.0.0/0 leftprotoport=17/1701 # l2tp udp流量 authby=secret # PSK驗證 leftfirewall=no # 不要讓strongswan更改防火牆 right=%any # 任意IP rightprotoport=17/%any # 任意port udp流量 type=transport # ipsec transport mode auto=add">>/etc/strongswan/ipsec.conf echo ': PSK "fuck_great_firewall"'>>/etc/strongswan/ipsec.secrets sed 's/\[global\].*$/&\nlisten-addr ='$ip_addr'/g' /etc/xl2tpd/xl2tpd.conf sed -i 's/^mtu.*/mtu 1200/g' /etc/ppp/options.xl2tpd sed -i 's/^mru.*/mru 1200/g' /etc/ppp/options.xl2tpd echo 'login'>>/etc/ppp/options.xl2tpd echo 'test * test123 *'>>/etc/ppp/chap-secrets service strongswan start service xl2tpd start chkconfig strongswan on chkconfig xl2tpd on
                                                            Run code
                                                            Cut to clipboard

                                                              安装完成后,具体信息如下:
                                                              连接方式:L2TP
                                                              VPN用户名:test
                                                              VPN密码:test123
                                                              密钥:fuck_great_firewall
                                                              文章:三步实现免费PHP空间搭建GoAgent翻墙  发表时间:2018-06-12, 17:58:56  
                                                              展开↯

                                                              #509

                                                              作者:广西河池市宜州市
                                                              L2TP/IPSec一键安装脚本

                                                              基于 OpenVZ 虚拟化技术的 VPS 需要开启TUN/TAP才能正常使用,购买 VPS 时请先咨询服务商是否支持开启 TUN/TAP

                                                              OpenVZ 虚拟的 VPS 需要系统内核支持 IPSec 才行。也就是说,母服务器的内核如果不支持的话那就没办法,只能换 VPS
                                                              因此,一般不建议在 OpenVZ 的 VPS 上安装本脚本。脚本如果检测到该 VPS 为 OpenVZ 架构,会出现警告提醒

                                                              检测是否支持TUN模块
                                                              执行命令:
                                                              cat /dev/net/tun
                                                              Run code
                                                              Cut to clipboard

                                                                返回信息为:cat: /dev/net/tun: File descriptor in bad state 说明正常

                                                                检测是否支持ppp模块
                                                                执行命令:
                                                                cat /dev/ppp
                                                                Run code
                                                                Cut to clipboard

                                                                  返回信息为:cat: /dev/ppp: No such device or address 说明正常
                                                                  当然,脚本在安装时也会执行检查,如果不适用于安装,脚本会予以提示

                                                                  root 用户登录后,运行以下命令:
                                                                  wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh
                                                                  Run code
                                                                  Cut to clipboard

                                                                    chmod +x l2tp.sh
                                                                    Run code
                                                                    Cut to clipboard

                                                                      ./l2tp.sh
                                                                      Run code
                                                                      Cut to clipboard


                                                                        Please input IP-Range: (Default Range: 192.168.18): 输入本地IP段范围(本地电脑连接到VPS后给分配的一个本地IP地址),直接回车意味着输入默认值192.168.18 Please input PSK: (Default PSK: teddysun.com): PSK意为预共享密钥,即指定一个密钥将来在连接时需要用到,直接回车意味着输入默认值teddysun.com Please input Username: (Default Username: teddysun): Username意为用户名,即第一个默认用户。直接回车意味着输入默认值teddysun Please input teddysun’s password: (Default Password: Q4SKhu2EXQ): 输入用户的密码,默认会随机生成一个10位包含大小写字母和数字的密码,当然你也可以指定密码。 ServerIP:your_server_main_IP 显示你的 VPS 的主 IP(如果是多 IP 的 VPS 也只显示一个) Server Local IP:192.168.18.1 显示你的 VPS 的本地 IP(默认即可) Client Remote IP Range:192.168.18.2-192.168.18.254 显示 IP 段范围 PSK:teddysun.com 显示 PSK Press any key to start…or Press Ctrl+c to cancel 按下任意按键继续,如果想取消安装,请按Ctrl+c键
                                                                        Run code
                                                                        Cut to clipboard


                                                                          安装完成后,脚本会执行 ipsec verify 命令并提示如下:


                                                                          对用户进行操作:
                                                                          l2tp -a 新增用户 l2tp -d 删除用户 l2tp -m 修改现有的用户的密码 l2tp -l 列出所有用户名和密码 l2tp -h 列出帮助信息
                                                                          Run code
                                                                          Cut to clipboard


                                                                            其他事项:
                                                                            1、脚本在安装完成后,已自动启动进程,并加入了开机自启动。
                                                                            2、脚本会改写 iptables 或 firewalld 的规则。
                                                                            3、脚本安装时,会即时将安装日志写到 /root/l2tp.log 文件里,如果你安装失败,可以通过此文件来寻找错误信息。

                                                                            使用命令:
                                                                            ipsec status (查看 IPSec 运行状态) ipsec verify (查看 IPSec 检查结果) /etc/init.d/ipsec start|stop|restart|status (CentOS6 下使用) /etc/init.d/xl2tpd start|stop|restart (CentOS6 下使用) systemctl start|stop|restart|status ipsec (CentOS7 下使用) systemctl start|stop|restart xl2tpd (CentOS7 下使用) service ipsec start|stop|restart|status (Debian/Ubuntu 下使用) service xl2tpd start|stop|restart (Debian/Ubuntu 下使用)
                                                                            Run code
                                                                            Cut to clipboard


                                                                              测试表明,在内网环境的 VPS 里(如AWS, IDCF,GCE,腾讯云,阿里云等)也可以正常使用
                                                                              文章:三步实现免费PHP空间搭建GoAgent翻墙  发表时间:2018-06-12, 12:04:41  
                                                                              展开↯

                                                                              #510

                                                                              作者:广西河池市金城江区
                                                                              新后台 发布文章 编辑文章 页面 路径
                                                                              \app\system\admin\templates\web\content
                                                                              Run code
                                                                              Cut to clipboard
                                                                                #,广西河池市金城江区,2018-04-20,16:33:27, 百度编辑器配置文件路径
                                                                                \app\system\include\public\js\examples\editor\ueditor\ueditor.config.js
                                                                                Run code
                                                                                Cut to clipboard
                                                                                  #,广西河池市金城江区,2018-04-20,16:34:39,
                                                                                  \app\system\include\public\js\examples\editor\ueditor\dialogs\insertframe\insertframe.html
                                                                                  Run code
                                                                                  Cut to clipboard
                                                                                    #,广西河池市,2018-05-12,09:12:09,
                                                                                    php接收textarea内容后显示换行和空格
                                                                                    php textarea换行
                                                                                    str_replace(" "," ",str_replace("\n","<br/>",$_POST['content']));
                                                                                    Run code
                                                                                    Cut to clipboard

                                                                                      也可以使用nl2br进行回车替换
                                                                                      echo nl2br($_POST['content']); //nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)
                                                                                      Run code
                                                                                      Cut to clipboard

                                                                                        注:要用双引号,不然无法替换;
                                                                                        #,广西河池市金城江区,2018-05-18,22:29:57,
                                                                                        编辑器改变获取内容
                                                                                        window.UE.getEditor('container_contentcarinfo').setContent(data);
                                                                                        Run code
                                                                                        Cut to clipboard
                                                                                          #,广西河池市金城江区,2018-05-18,22:38:22,@4,
                                                                                          dataType: 'json', error: function(request) { /*$.edbox({ html:'<div class="example-html">服务器繁忙</div>', ////animateOpen:'animated tada', ////animateClose:'animated flipOutX', afterClose:function(){ location.reload(); } });*/ alert('服务器繁忙'); return false; //alert("提交失败"); }, success: function(data) { if(data){ //$('#ajax_get_cx').html(data); //return false; var css=''; window.UE.getEditor('container_contentcarinfo').setContent(css+data.info); }else{
                                                                                          Run code
                                                                                          Cut to clipboard
                                                                                            #,广西河池市金城江区,2018-05-18,22:38:40,@5, ajax处理json
                                                                                            #,广西河池市金城江区,2018-05-19,14:09:13,
                                                                                            ueditor 去掉默认<p>
                                                                                            // 找到addInputRule方法,并将switch case 中的case style:删除 me.addInputRule(function (root) { ... //进行默认的处理 root.traversal(function (node) { if (node.type == 'element') { ... switch (node.tagName) { case 'style': // 删除这项 case 'script': .... } } } })
                                                                                            Run code
                                                                                            Cut to clipboard
                                                                                              #,广西河池市金城江区,2018-05-19,14:09:57,
                                                                                              js name textarea 赋值
                                                                                              $("[name='content']").html(值); $("[name='content']").text(值);
                                                                                              Run code
                                                                                              Cut to clipboard
                                                                                                #,广西河池市金城江区,2018-05-19,14:11:05,
                                                                                                phpjson字符串转json对象
                                                                                                <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true));
                                                                                                Run code
                                                                                                Cut to clipboard

                                                                                                  结果
                                                                                                  object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
                                                                                                  Run code
                                                                                                  Cut to clipboard
                                                                                                    #,广西河池市金城江区,2018-05-19,14:11:17,@9,
                                                                                                    如果你json_decode后返回null,你是不是把字符串写成这样了"{ 'bar': 'baz' }",这个在JS里是可以正常解析成JSON的,但是PHP里面要写成'{ "bar": "baz" }',属性和值要用双引号
                                                                                                    #,广西河池市金城江区,2018-05-19,14:11:29,@10, 用json_decode(),前提是json格式属性和值要用双引号,用python的话可以不用双引号
                                                                                                    #,广西河池市金城江区,2018-05-19,14:12:11, php foreach跳出本次/当前循环与终止循环方法
                                                                                                    PHP中用foreach()循环中,想要在循环的时候,当满足某个条件时,想要跳出本次循环继续执行下次循环,或者满足某个条件的时候,终止foreach()循环,分别会用到:continue 与 break
                                                                                                    $arr= array('le','yang','jun','lecode','gagade'); $html= ''; foreach($arras $key => $value){ if($value=='b'){ $html.= $value; continue;// 当 $value为b时,跳出本次循环 } if($value=='c'){ $html.= $value; break;// 当 $value为c时,终止循环 } $html.= $value; } echo$html; // 输出: abc
                                                                                                    Run code
                                                                                                    Cut to clipboard
                                                                                                      #,广西河池市金城江区,2018-05-19,14:13:26, select选中触发事件
                                                                                                      <script type="text/javascript"> $(document).ready(function () { $("#sel").bind("change",function(){ if($(this).val()==0){ return; } else{ $("#thediv").text($(this).val()); } }); }); </script>
                                                                                                      Run code
                                                                                                      Cut to clipboard
                                                                                                        #,广西河池市金城江区,2018-05-19,14:14:32,@13, Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
                                                                                                        #,广西河池市金城江区,2018-05-19,14:19:11, ThinkPHP函数详解:cookie方法

                                                                                                        Cookie设置
                                                                                                        cookie('name','value'); //设置cookie cookie('name','value',3600); // 指定cookie保存时间
                                                                                                        Run code
                                                                                                        Cut to clipboard

                                                                                                          3.1版本开始,cookie方法增加对数组的支持(采用轻量级的json编码格式保存 减少存储空间)
                                                                                                          cookie('name',array('name1','name2'));
                                                                                                          Run code
                                                                                                          Cut to clipboard

                                                                                                            还可以支持参数传入的方式完成复杂的cookie赋值,下面是对cookie的值设置3600秒有效期,并且加上cookie前缀think_
                                                                                                            cookie('name','value',array('expire'=>3600,'prefix'=>'think_'))
                                                                                                            Run code
                                                                                                            Cut to clipboard

                                                                                                              数组参数可以采用query形式参数
                                                                                                              cookie('name','value','expire=3600&prefix=think_')
                                                                                                              Run code
                                                                                                              Cut to clipboard

                                                                                                                和上面的用法等效。
                                                                                                                传入的option参数支持prefix,expire,path,domain四个索引参数,如果没有传入或者传入空值的话,会默认取COOKIE_PREFIX、COOKIE_EXPIRE、COOKIE_PATH和COOKIE_DOMAIN四个配置参数。如果只传入个别参数,那么也会和默认的配置参数合并

                                                                                                                Cookie获取
                                                                                                                获取cookie很简单,无论是怎么设置的cookie,只需要使用:
                                                                                                                $value = cookie('name');
                                                                                                                Run code
                                                                                                                Cut to clipboard

                                                                                                                  如果没有设置cookie前缀的话 相当于
                                                                                                                  $value = $_COOKIE['前缀+name']
                                                                                                                  Run code
                                                                                                                  Cut to clipboard


                                                                                                                    Cookie删除
                                                                                                                    删除某个cookie的值,使用:
                                                                                                                    cookie('name',null);
                                                                                                                    Run code
                                                                                                                    Cut to clipboard

                                                                                                                      要删除所有的Cookie值,可以使用
                                                                                                                      cookie(null); // 清空当前设定前缀的所有cookie值 cookie(null,'think_'); // 清空指定前缀的所有cookie值
                                                                                                                      Run code
                                                                                                                      Cut to clipboard
                                                                                                                        #,广西河池市金城江区,2018-05-19,14:19:29,@15, cookie前面一定不能有任何ECHO ,或者PRINT_R等输出,不然COOKIE会无效
                                                                                                                        #,广西河池市金城江区,2018-05-19,14:20:54, 通过Ajax使用FormData对象无刷新上传文件
                                                                                                                        第一种方式:
                                                                                                                        var oMyForm = new FormData(); oMyForm.append("username", "Groucho"); oMyForm.append("accountnum", 123456); oMyForm.append("file", $('#file')[0].files[0]); $.ajax({ url: '/Manage/UploadImg', type: 'POST', cache: false, data: oMyForm, processData: false, contentType: false, async: false }).done(function(res) {}).fail(function(res) {});
                                                                                                                        Run code
                                                                                                                        Cut to clipboard


                                                                                                                          第二种方式:
                                                                                                                          <form id="uploadForm" enctype="multipart/form-data"> <p>指定文件名: <input type="text" name="filename" value="" /></p> <p>上传文件: <input type="file" name="file" /></ p> <input type="button" value="上传" onclick="doUpload()" /> </form>
                                                                                                                          Run code
                                                                                                                          Cut to clipboard

                                                                                                                            var formData = new FormData($('#uploadForm')[0]); formData.append('num', '1');//可以在已有表单数据的基础上,继续添加新的键值对 $.ajax({ url: '/upload', type: 'POST', cache: false, data: new FormData($('#uploadForm')[0]), processData: false, contentType: false }).done(function(res) {}).fail(function(res) {});
                                                                                                                            Run code
                                                                                                                            Cut to clipboard


                                                                                                                              注意:
                                                                                                                              Ajax的processData设置为false。因为data值是FormData对象,不需要对数据做处理。
                                                                                                                              第二种方式中<form>标签加enctyp  e="multipart/form-data"属性。
                                                                                                                              cache设置为false,上传文件不需要缓存。
                                                                                                                              contentType设置为false。因为是由<form>表单构造的FormData对象,且已经声明了属性enctype="mutipart/form-data",所以这里设置为false
                                                                                                                              #,广西河池市金城江区,2018-05-21,20:43:18,
                                                                                                                              $("#id")与$('input[name="nameId"]')的区别 今日在用easyUI的numberbox控件时遇到一个问题; 我在页面中定义了一个输入框: <input id="yesId" name="yesName" value="yes" ></input> 使用jquery选择器获取这个输入框时,有两种方法 var a = $("#yesId"); var b = $('input[name="yesName"]'); alert(a == b); // false 总结:在使用numberbox的setValue方法时: $("#yesId").numberbox("setValue",100); // 有效,这也是api上使用的方式 $('input[name="yesName"]').numberbox("setValue",100); // 无效并报错,不可使用此方式
                                                                                                                              Run code
                                                                                                                              Cut to clipboard
                                                                                                                                #,广西河池市金城江区,2018-05-21,20:43:38, php输出26个大小写英文字母
                                                                                                                                for($i=65;$i<91;$i++){ echo strtolower(chr($i)).' ';//输出小写字母 echo strtoupper(chr($i)).' ';//输出大写字母 }
                                                                                                                                Run code
                                                                                                                                Cut to clipboard
                                                                                                                                  #,广西河池市金城江区,2018-05-21,20:44:12,
                                                                                                                                  jquery获取select选中的值 误区: 一直以为jquery获取select中option被选中的文本值,是这样写的: $("#s").text(); //获取所有option的文本值 实际上应该这样: $("#s option:selected").text(); //获取选中的option的文本值 获取select中option的被选中的value值, $("#s").val(); $("#s option:selected").val(); js获取select选中的值: var sel=document.getElementById("select1"); var index = sel.selectedIndex; // 选中索引 albumid= sel.options[index].value;//要的值
                                                                                                                                  Run code
                                                                                                                                  Cut to clipboard
                                                                                                                                    #,广西河池市金城江区,2018-05-21,20:44:41,
                                                                                                                                    jquery操作select(取值,设置选中)(转) http://www.cnblogs.com/liaojie970/p/5210541.html 比如<select class="selector"></select> 1、设置value为pxx的项选中 $(".selector").val("pxx"); 2、设置text为pxx的项选中 $(".selector").find("option[text='pxx']").attr("selected",true); 这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。 3、获取当前选中项的value $(".selector").val(); 4、获取当前选中项的text $(".selector").find("option:selected").text(); 这里用到了冒号,掌握它的用法并举一反三也会让代码变得简洁。 很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jquery中是非常简单的。 如:$(".selector1").change(function(){ // 先清空第二个 $(".selector2").empty(); // 实际的应用中,这里的option一般都是用循环生成多个了 var option = $("<option>").val(1).text("pxx"); $(".selector2").append(option); });
                                                                                                                                    Run code
                                                                                                                                    Cut to clipboard
                                                                                                                                      #,广西河池市金城江区,2018-05-22,17:48:04,@7, 百度编辑器修图添加css和style标签样式ueditor.all.min.js
                                                                                                                                      #,广西河池市金城江区,2018-05-23,10:51:03,@7,
                                                                                                                                      ueditor.all.js
                                                                                                                                      // 找到allowDivTransToP参数,这个参数会将DIV标签转为P标签,设置为false me.setOpt(   {     'allowDivTransToP':false,     'disabledTableInTable':true   } );
                                                                                                                                      Run code
                                                                                                                                      Cut to clipboard
                                                                                                                                        #,广西河池市金城江区,2018-05-23,10:57:45,@7,
                                                                                                                                        weiphp ueditor
                                                                                                                                        \Public\static\ueditor
                                                                                                                                        Run code
                                                                                                                                        Cut to clipboard

                                                                                                                                          thinkphp 过滤style
                                                                                                                                          weiphp
                                                                                                                                          // 系统默认的变量过滤机制 'DEFAULT_FILTER' => 'htmlspecialchars'
                                                                                                                                          Run code
                                                                                                                                          Cut to clipboard

                                                                                                                                            \Application\Common\Conf\config.php
                                                                                                                                            Run code
                                                                                                                                            Cut to clipboard


                                                                                                                                              \Application\Common\Common\function.php
                                                                                                                                              Run code
                                                                                                                                              Cut to clipboard

                                                                                                                                                百度编辑器修图添加css和style标签样式ueditor.all.min.js

                                                                                                                                                百度编辑器修图添加css和style标签样式ueditor.all.min.js
                                                                                                                                                #,广西河池市金城江区,2018-05-23,11:01:58,@7,

                                                                                                                                                #,广西河池市金城江区,2018-05-23,11:06:01,
                                                                                                                                                tp框架中有个接受所有post过来的函数
                                                                                                                                                Model的create()方法,自动创建数据对象功能
                                                                                                                                                #,广西河池市金城江区,2018-05-23,11:18:38,@7,
                                                                                                                                                #,广西河池市金城江区,2018-05-23,14:40:50,
                                                                                                                                                #,广西河池市,2018-05-27,19:57:34,@3,
                                                                                                                                                //获取服务保障文章 $fwbzlist=M('news')->order('no_order desc,id desc')->limit(9)->select();//where("class1=482")-> //dump($fwbzlist);exit; foreach($fwbzlist as $fwk=>&$fwv){ $fwv= str_replace("\r\n",'<br/>',$fwv); } $this->assign('fwbzlist',$fwbzlist);
                                                                                                                                                Run code
                                                                                                                                                Cut to clipboard
                                                                                                                                                  #,广西河池市,2018-06-08,17:24:10, php 去除图片以及DIV的width、height、style
                                                                                                                                                  PHP正则去掉img 宽度高度
                                                                                                                                                  <?php //去掉图片宽度 $search = '/(<img.*?)width=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is'; $content = preg_replace($search,'$1$3',$content); //去除图片的高度 $search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is'; $content = preg_replace($search1,'$1$3',$content); //去除style样式 $content = preg_replace("/style=.+?['|\"]/i",'',$content); ?> <style>.centent img{max-width:100%;}</style>
                                                                                                                                                  Run code
                                                                                                                                                  Cut to clipboard
                                                                                                                                                    #,广西河池市,2018-06-08,18:06:32,
                                                                                                                                                    放在body后面
                                                                                                                                                    移动设备移动端手机版本 rem
                                                                                                                                                    页面加载顺序 font-size:0px 闪缩 适配
                                                                                                                                                    <script> document.ready = function(){ /*360代表设计师给的设计稿的宽度,你的设计稿是多少,就写多少;100代表换算比例,这里写100是 为了以后好算,比如,你测量的一个宽度是100px,就可以写为1rem,以及1px=0.01rem等等*/ getRem(360,100) }; window.onresize = function(){ getRem(360,100) }; getRem(360,100); function getRem(pwidth,prem){ var html = document.getElementsByTagName("html")[0]; var oWidth = document.body.clientWidth || document.documentElement.clientWidth; html.style.fontSize = oWidth/pwidth*prem + "px"; } </script><!--100px=1rem-->
                                                                                                                                                    Run code
                                                                                                                                                    Cut to clipboard
                                                                                                                                                      #,广西河池市,2018-06-08,18:08:06,@32,
                                                                                                                                                      window.onload = function () { alert('onload'); }; document.ready(function () { alert('ready'); });
                                                                                                                                                      Run code
                                                                                                                                                      Cut to clipboard

                                                                                                                                                        $(function(){}) 和$(document).ready(function(){})
                                                                                                                                                        Run code
                                                                                                                                                        Cut to clipboard

                                                                                                                                                          document.ready = function (callback) { ///兼容FF,Google if (document.addEventListener) { document.addEventListener('DOMContentLoaded', function () { document.removeEventListener('DOMContentLoaded', arguments.callee, false); callback(); }, false) } //兼容IE else if (document.attachEvent) { document.attachEvent('onreadystatechange', function () { if (document.readyState == "complete") { document.detachEvent("onreadystatechange", arguments.callee); callback(); } }) } else if (document.lastChild == document.body) { callback(); } }
                                                                                                                                                          Run code
                                                                                                                                                          Cut to clipboard
                                                                                                                                                            文章:常用代码2  发表时间:2018-04-20, 16:29:16  
                                                                                                                                                            展开↯

                                                                                                                                                            #511

                                                                                                                                                            作者:广西河池市
                                                                                                                                                            再坚持一下下~
                                                                                                                                                            #,广西河池市,2018-06-08,16:48:53,
                                                                                                                                                            文章:成功的故事只能倒叙着讲  发表时间:2018-06-04, 16:26:20  
                                                                                                                                                            展开↯

                                                                                                                                                            #512

                                                                                                                                                            作者:广西河池市
                                                                                                                                                            人不分高低贵贱,思想和素质真的分
                                                                                                                                                            文章:成功的故事只能倒叙着讲  发表时间:2018-06-08, 11:33:44  
                                                                                                                                                            展开↯

                                                                                                                                                            #513

                                                                                                                                                            作者:广西河池市
                                                                                                                                                            https://github.com/geektheripper/fuck-smartisan





                                                                                                                                                            文章:@意见反馈/技术支持/伊网/安企网  发表时间:2018-06-06, 10:09:30  
                                                                                                                                                            展开↯
                                                                                                                                                            你好,残忍屏蔽广告

                                                                                                                                                            确定要清除编辑框内容吗?

                                                                                                                                                            该删除操作将不可恢复。

                                                                                                                                                            删除 取消

                                                                                                                                                            激活Windows

                                                                                                                                                            转到"设置"以激活Windows。