【Thinkphp】解决Function get_magic_quotes_gpc() is deprecated问题

在最新版的Wamp搭建web环境的时候,用thinkphp开发项目就会出现一个“Deprecated: Function get_magic_quotes_gpc() is deprecated”的提示警告,请看如下截图:   经“度娘”一查,发现php版本高了,而get_magic_quotes_gpc() 这个函数在所使用的php版本中弃用了。   解决方法: 找到使用该函数的文件: ThinkPHP\Common\runtime.php // 系统信息 if(version_compare(PHP_VERSION,’5.4.0′,'<‘)) { ini_set(‘magic_quotes_runtime’,0); define(‘MAGIC_QUOTES_GPC’,get_magic_quotes_gpc()?True:False); }else{ define(‘MAGIC_QUOTES_GPC’,false); } 修改为如下: // 系统信息 if(version_compare(PHP_VERSION,’5.4.0′,'<‘)) { //ini_set(‘magic_quotes_runtime’,0); //define(‘MAGIC_QUOTES_GPC’,get_magic_quotes_gpc()?True:False); define(‘MAGIC_QUOTES_GPC’,ini_set(“magic_quotes_runtime”,0)?True:False); }else{ define(‘MAGIC_QUOTES_GPC’,false); } 效果:  

【JQuery】Ecshop与Jquery冲突的完美解决方案

ECShop把AJAX事件和JSON解析的模块放在common/transport.js之中,可以说它也有自己封装的一套工具,这其实是很正常的。 但恰恰的,在封装JSON各种方法的同时对object的模型进行了重写,这个就跟jQuery冲突了。因为众所周知的,jQuery对各种JavaScript对象进行了扩展。 这一切其实都很容易理解,各有各的理由十分自然,但头痛和无奈的就变得在我们这些使用者身上了。在ECShop论坛上原来也有很多朋友提出了这个问题,也提出了各种各样的方法,我尝试了一些,不好或者甚至无用,所以只好自己动手了。 解决思路大概就是屏蔽ECshop扩展的toJSONString方法,用别的函数代替。 为了照顾下小菜们,就写详细点吧。 一,修改默认js文件 1、首先复制一份 transport.js 改名为 transport.org.js 提供给后台使用 2、屏蔽掉transport.js里的toJSON功能 行数大概有497-737行之间 由if ( ! Object.prototype.toJSONString) { 开头的代码。 修改352行为: legalParams = “JSON=” + $.toJSON(params); 修改408行为: result = $.evalJSON(result); 屏蔽掉global.js里的如下代码(第10-13行): Object.prototype.extend = function(object) { return Object.extend.apply(this, [this, object]); } 3、修改index.js文件44行改为: var res = $.evalJSON(result); 4、修改common.js文件 第34行改为: Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ + $.toJSON(goods), addToCartResponse, ‘POST’, ‘JSON’); 第850行改为: Ajax.call(‘flow.php?step=add_package_to_cart’, … Continue reading “【JQuery】Ecshop与Jquery冲突的完美解决方案”

【JQuery】动画与效果

1.基本效果 匹配元素从左上角开始变浓变大或缩小到左上角变淡变小 ①隐藏元素 除了可以设置匹配元素的display:none外,可以用以下函数 hide(speed,[callback])  返回值:jQuery  参数-speed:三种预订速度之一的字符串String(slow,normal,fast)或表示动画时长的毫秒数Number  callback:在完成动画时执行的函数,每个匹配元素执行一次 slow=600毫秒  normal=400毫秒  fast=200毫秒 以优雅的动画隐藏所有匹配的元素,并在隐藏完成后可选的触发一个回调函数。 ②显示元素 show(speed,[callback])    以优雅的动画显示所有匹配的元素,并在显示完成后可选的触发一个回调函数。 ③交替显示隐藏 toggle(speed,[callback])  以优雅的动画切换匹配元素的可见状态,原来可见切换为不可见,原来不可见切换为可见。 <input type=”button” id=”hide1″ value=”hide()” /> <input type=”button” id=”show1″ value=”show()” /> <input type=”button” id=”toggle1″ value=”toggle()” /> <div id=”1″ style=”width:100px; height:100px; background-color:Green;”></div> $(function(){ $(“#hide1”).click(function(){$(“#1”).hide(700)}); $(“#show1”).click(function(){$(“#1”).show(700)}); $(“#toggle1”).click(function(){$(“#1”).toggle(700)}); }) 2.滑动效果 ①向上收缩效果 slideUp(speed,[callback])  通过高度的变化方式向上隐藏元素,并在隐藏完成后可选的触发一个回调函数。 ②向下展开效果 slideDown(speed,[callback])  通过高度的变化方式向下显示元素,并在显示完成后可选的触发一个回调函数。 ③交替伸缩效果 slideToggle(speed,[callback]) 切换匹配元素的高度的方式来改变可见状态,原来可见切换为不可见,原来不可见切换为可见。 $(“#slideup1”).click(function(){$(“#1”).slideUp(700)}); $(“#slidedown2”).click(function(){$(“#1”).slideDown(700)}); … Continue reading “【JQuery】动画与效果”

【thinkphp】解决IF标签变量与变量比较出现的问题

在用thinkphp写项目的时候,发现一个问题:foreach标签循环显示数据时,如果在该标签中需要用到IF标签来判断就会出现问题,请看如下代码: <if condition=”$id < 5 “> value1 <else /> value2 </if> 这种方式是不会出问题,但是遇到二位数组变量或者三维数组变量比较的时候,就会对比不出来,请看代码: <foreach name=”datas.cats_datas” item=”cats”> <option value=”{$cats.cat_id}” <if condition=”$datas.datas.cat_id eq $cats.cat_id “>selected=”selected”</if> >{$cats.cat_name}</option> </foreach>  解决方法: <foreach name=”datas.cats_datas” item=”cats”> <option value=”{$cats.cat_id}” <if condition=”$datas[‘datas’][‘cat_id’] eq $cats[‘cat_id’] “>selected=”selected”</if> >{$cats.cat_name}</option> </foreach>  原因: 第一层标签以下不支持$a.name这种点的写法,所以大家尽量使用$a[‘name’]这种。

【技术排行榜】2013年12月编程语言排行榜:Transact-SQL是年度语言?

TIOBE 于今日公布了2013年12月编程语言指数排行榜,同去年12月份相比,排名前三的还是 C、Java、Objective-C。从表单上看前8名的顺序保持不变,第9位的Transact-SQL是今年的一匹黑马,从今年9月份第一次闯入前十开始,就一直呈居高走势。不得不说,2013年Transact-SQL的确大势。 离TIOBE 宣布 2013 年“年度编程语言”还有 1 个月时间。(“年度编程语言”是授予在一年中比率增长量最高编程语言的,详情下图中右侧的“变动”列)。今年貌似只有 4 个候选语言来争夺这一奖项。Transact-SQL 是最大的候选语言,在这一年中的比率增长量是 1.30%,其他候选分别是:Visual Basic .NET (+0.80%)、JavaScript (+0.53%)和 F# (+0.41%)。 另外需要特别说明的是,从本月起 TIOBE 排行榜改版了。其中最重要的改进是“编程语言长期走势图”变成了可交互的图表。 点击图片右侧的语言名称,可以显示/关闭某语言的走势曲线。接下来的几周或几月,TIOBE 会把其他目前没有的功能给补回来。另外一个比较重要的变化是,所有语言的比率之和是 100%,原来只有 Top 50 的语言的比率之和才是 100%。故而所有语言的比率都会下降一些了。 编程语言排行榜Top 20 前十名编程语言走势图: 21-50编程语言排名: 后50名的编程语言排行: (Visual) FoxPro, 4th Dimension/4D, Alice, Automator, Awk, bc, BlitzMax, Bourne shell, C++/CLI, CFML, cg, CL (OS/400), Clean, Clojure, DiBOL, Erlang, Factor, Forth, … Continue reading “【技术排行榜】2013年12月编程语言排行榜:Transact-SQL是年度语言?”

【Windows】安装和使用FTP for Windows2008

云服务器默认使用Windws 2008 IIS 中自带的FTP服务器。 1、添加FTP帐号 A. 选择“服务管理器”->“配置”->“本地用户和组”->“用户”;在空白处右键选择“新用户”; B. 输入用户名,全名和描述可以不填写;输入两遍密码;可以设置“用户不能修改密码”和“密码永不过期”;选择“创建”; 2、 打开Internet 服务(IIS)管理器 启动左下角任务栏中的“服务器管理器”,选择“角色”->”Web服务器IIS”->”Internet 服务(IIS)管理器”来打开IIS管理界面; 3、启动添加FTP站点向导 选择左侧连接中的“网站”,点击右侧操作窗口中的“添加FTP站点”; 4、启动“添加FTP站点”向导 输入FTP站点名称和FTP指向的路径;选择“下一步”; 5、 绑定和SSL设置 选择你希望开放的IP地址(默认选择全部未分配,即所以IP都开放)和端口(默认选择21);SSL请根据您的具体情况选择,如无需使用SSL,请选择“无”;选择“下一步”; 6、身份验证和授权信息 身份验证请选择“基本”,不建议开启“匿名”;授权中允许访问的用户可以指定具体范围,如果FTP用户不需要很多的话,建议选择“指定用户”,权限选择“读取”和“写入”;选择“完成”。 7、 测试FTP连接 您可以在“我的电脑”地址栏中输入ftp://IP来连接FTP服务器,根据提示输入账户密码。 如果您开启了windows默认的防火墙,默认是外网连接不了ftp的,需要设置防火墙策略,允许在windows防火墙的例外里面添加“C:\windows\system32\svchost.exe”程序,才能从外网成功访问ftp 8)打开windows防火墙,选择允许程序或功能通过windows防火墙 9)选择允许运行另一程序,在添加程序中选择浏览,选择C:\windows\system32\svchost.exe就行打开添加,这时windows服务器主进程就添加在防火墙例外中,点击确定后,这时就可以从外网访问ftp。 注:来自阿里云

【技术杂谈】360安全卫士截获IE浏览器的地址栏?

作为网站开发的程序猿,一直用谷歌浏览器来测试项目。但是为了测试项目的兼容性,于是打开了一直很少用的IE浏览器,结果一打开就发现一个问题:IE9.0浏览器竟然可以显示网站名片(备案信息,认证信息等等),请看如下截图(以百度为例): 看来IE9.0浏览器越来越洋气了,好久没用IE浏览器,竟然还加了这功能!不对!这个功能好像和360安全浏览器一模一样的。于是猜想下打开360官网看下效果会显示什么信息? 也是一样的显示网站名片信息。但是有个网友评价功能很明显是360的,以及该网站名片功能和360安全浏览器上的网站名片功能是一样的,所以可以推断这个功能是360的。但是它是怎么做到的?接着往下分析: 查看了ie浏览器的加载项管理,发现有两个关于360的加载项: 但是这两个加载项都被禁用了… 于是想到的是关闭360安全卫士试下,结果一关闭,效果还是一样的,依然可以显示该网站名片功能。 索性再重启下IE浏览器,一打开网站,该名片功能消失,IE浏览器地址栏正常了。 这个算不算360安全卫士截获IE浏览器的地址栏?首先关闭360安全卫士,该功能依然存在,但是重启浏览器该功能就消失了,程序猿猜测是360安全卫士通过钩子技术注入到IE浏览器中,所以就可以实现以上的效果! 你们认为呢?….