1、/views/default/account/setting/openid.tpl.htm
/img/wechat_code.jpg改为/img/wechat_code.gif
2、删除/static/css/default/img/favicon.ico
1、/views/default/account/setting/openid.tpl.htm
/img/wechat_code.jpg改为/img/wechat_code.gif
2、删除/static/css/default/img/favicon.ico
一,php开发框架
国外的php框架:
CakePHP 开发框架
官方网址:http://cakephp.org/
下载地址:https://github.com/cakephp/cakephp/archive/2.3.0-RC2.tar.gz
如果你仍然需要编写面向PHP4兼容的代码,CakePHP 将是一个非常不错的选择, 在PHP 4 & 5的MVC式框架列表里面,CakePHP都曾经是最流行的。它还提供了很多种途径的技术支持(讨论组、留言板、IRC等)还有优秀的教程。 CackePHP是个很容易上手的框架,但是你并不容易在短短几周的时间就完全掌握它。
Zend Framework框架
官方网址:http://framework.zend.com
下载地址:http://www.zend.com/en/download/633
Zend Framework 是面对一些较有经验的开发者和从底层构建一些企业级应用程序而设计的。(例如:宣称面向企业应用而设计的 Openbiz Cubi 就是基于Zend Framework框架之上而构建的。)该框架是高度模块化的。这意味着你可以按你的实际需要来引用Zend的代码。有些函数库甚至可以很容的被提取出来 单独使用(例如Zend_Gdata,这也是个低耦合性的特点)使用Zend框架,你不必非要遵从它的MVC架构,(虽然你最好能这么做),并且它还提供 了许多内建的高级功能用于完成与现有的web服务整合,多语言化和实现单元测试这些任务。
CodeIgniter
官方网址: http://codeigniter.org.cn
下载地址:http://codeigniter.org.cn/download
CodeIgniter 是一个PHP5.2+ 的MVC框架,它体积小巧切具有丰富的文档资源。通常被称为“初学者框架”,因为它相对容易试用和较短的学习曲线,此外CodeIgniter也是十分灵 活和强大的。该框架拥有一个非常庞大的社区支持。并且在社区里面很容易找到大量的CI函数库,你可以大胆的梦想, 也许你正需要做的事情在社区的某个交流,某个人已经把它实现了。
我以为jquery只会和其他js框架如(Dojo,Prototype,ExtJs)等发生冲突
今天用了一下My97DatePicker日历控件
当我同时引入jquery.js和/My97DatePicker/WdatePicker.js时,出现错误,日历控件不可用
应该是js库发生冲突了
做了如下改动:
var $j=jQuery.noConflict();
以后用jquery的时候不再用$而是$j 这样问题就解决了..
代码由三部分构成,分别是CSS+DIV+JS,兼容IE6浏览器,其他的应该都没问题,我暂时没测,目测很好用。推荐!『演示见下方』
CSS:
.demo {
height: 1500px;
}
.float {
background-color: #FFFEE0;
border: 1px solid #FFECB0;
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
padding: 10px;
position: absolute;
left:0;
top: 80px;
width: 100%;
}
HTML:
<div class="demo"> </div> <div class="float" id="float"> 我是个腼腆羞涩的浮动层... </div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script>
$.fn.smartFloat = function() {
var position = function(element) {
var top = element.position().top, pos = element.css("position");
$(window).scroll(function() {
var scrolls = $(this).scrollTop();
if (scrolls > top) {
if (window.XMLHttpRequest) {
element.css({
position: "fixed",
top: 0
});
} else {
element.css({
top: scrolls
});
}
}else {
element.css({
position: "absolute",
top: top
});
}
});
};
return $(this).each(function() {
position($(this));
});
};
//绑定
$("#float").smartFloat();
</script>
IE6中有一个BUG叫border边框断线现象,即在IE6中滚动滚动条时有些border边框莫名其妙的有部分不显示(边框显示不完整)。
有时候发现自己写的页面在IE6中测试时发现,有些边框部分不可见(目前我遇到过某个div的边框左右两边的中间有一部分边框消失、某个DIV的上边框消失同时两边也有部分消失);今天恰好遇到后面的这种情况,平常遇到两边中间有部分消失的情况时直接给这个DIV加个背景色就可以了,今天却不知道为什么不行。试了好久最后定义了这个DIV的高度就解决了。于是,搜索了一下这种情况,才发现这属于border边框断线现象,但没有找到是什么原因导致这样的现象。下面是在网上找到的解决方法:
现象出现的条件:假设一个容器内有两个浮动,并使用CLEAR清除浮动,在ie6下拖动滚动条时最外层的border会消失,如果给最外层加上宽度或者高度就不会出现。如下代码(需要出现滚动条即页面有足够的高度):
| javascript事件列表解说 | |||
| 事件 | 浏览器支持 | 解说 | |
| 一般事件 | onclick | IE3、N2 | 鼠标点击时触发此事件 |
| ondblclick | IE4、N4 | 鼠标双击时触发此事件 | |
| onmousedown | IE4、N4 | 按下鼠标时触发此事件 | |
| onmouseup | IE4、N4 | 鼠标按下后松开鼠标时触发此事件 | |
| onmouseover | IE3、N2 | 当鼠标移动到某对象范围的上方时触发此事件 | |
| onmousemove | IE4、N4 | 鼠标移动时触发此事件 | |
| onmouseout | IE4、N3 | 当鼠标离开某对象范围时触发此事件 | |
| onkeypress | IE4、N4 | 当键盘上的某个键被按下并且释放时触发此事件. | |
| onkeydown | IE4、N4 | 当键盘上某个按键被按下时触发此事件 | |
| onkeyup | IE4、N4 | 当键盘上某个按键被按放开时触发此事件 | |
| 页面相关事件 | onabort | IE4、N3 | 图片在下载时被用户中断 |
| onbeforeunload | IE4、N | 当前页面的内容将要被改变时触发此事件 | |
| onerror | IE4、N3 | 出现错误时触发此事件 | |
| onload | IE3、N2 | 页面内容完成时触发此事件 | |
| onmove | IE、N4 | 浏览器的窗口被移动时触发此事件 | |
| onresize | IE4、N4 | 当浏览器的窗口大小被改变时触发此事件 | |
| onscroll | IE4、N | 浏览器的滚动条位置发生变化时触发此事件 | |
| onstop | IE5、N | 浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断 | |
| onunload | IE3、N2 | 当前页面将被改变时触发此事件 | |
| 表单相关事件 | onblur | IE3、N2 | 当前元素失去焦点时触发此事件 |
| onchange | IE3、N2 | 当前元素失去焦点并且元素的内容发生改变而触发此事件 | |
| onfocus | IE3 、N2 | 当某个元素获得焦点时触发此事件 | |
| onreset | IE4 、N3 | 当表单中RESET的属性被激发时触发此事件 | |
| onsubmit | IE3 、N2 | 一个表单被递交时触发此事件 | |
| 滚动字幕事件 | onbounce | IE4、N | 在Marquee内的内容移动至Marquee显示范围之外时触发此事件 |
| onfinish | IE4、N | 当Marquee元素完成需要显示的内容后触发此事件 | |
| onstart | IE4、 N | 当Marquee元素开始显示内容时触发此事件 | |
| 编辑事件 | onbeforecopy | IE5、N | 当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发此事件 |
| onbeforecut | IE5、 N | 当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发此事件 | |
| onbeforeeditfocus | IE5、N | 当前元素将要进入编辑状态 | |
| onbeforepaste | IE5、 N | 内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件 | |
| onbeforeupdate | IE5、 N | 当浏览者粘贴系统剪贴板中的内容时通知目标对象 | |
| oncontextmenu | IE5、N | 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件 | |
| oncopy | IE5、N | 当页面当前的被选择内容被复制后触发此事件 | |
| oncut | IE5、N | 当页面当前的被选择内容被剪切时触发此事件 | |
| ondrag | IE5、N | 当某个对象被拖动时触发此事件 [活动事件] | |
| ondragdrop | IE、N4 | 一个外部对象被鼠标拖进当前窗口或者帧 | |
| ondragend | IE5、N | 当鼠标拖动结束时触发此事件,即鼠标的按钮被释放了 | |
| ondragenter | IE5、N | 当对象被鼠标拖动的对象进入其容器范围内时触发此事件 | |
| ondragleave | IE5、N | 当对象被鼠标拖动的对象离开其容器范围内时触发此事件 | |
| ondragover | IE5、N | 当某被拖动的对象在另一对象容器范围内拖动时触发此事件 | |
| ondragstart | IE4、N | 当某对象将被拖动时触发此事件 | |
| ondrop | IE5、N | 在一个拖动过程中,释放鼠标键时触发此事件 | |
| onlosecapture | IE5、N | 当元素失去鼠标移动所形成的选择焦点时触发此事件 | |
| onpaste | IE5、N | 当内容被粘贴时触发此事件 | |
| onselect | IE4、N | 当文本内容被选择时的事件 | |
| onselectstart | IE4、N | 当文本内容选择将开始发生时触发的事件 | |
| 数据绑定 | onafterupdate | IE4、N | 当数据完成由数据源到对象的传送时触发此事件 |
| oncellchange | IE5、N | 当数据来源发生变化时 | |
| ondataavailable | IE4、N | 当数据接收完成时触发事件 | |
| ondatasetchanged | IE4、N | 数据在数据源发生变化时触发的事件 | |
| ondatasetcomplete | IE4、N | 当来子数据源的全部有效数据读取完毕时触发此事件 | |
| onerrorupdate | IE4、N | 当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件 | |
| onrowenter | IE5、N | 当前数据源的数据发生变化并且有新的有效数据时触发的事件 | |
| onrowexit | IE5、N | 当前数据源的数据将要发生变化时触发的事件 | |
| onrowsdelete | IE5、N | 当前数据记录将被删除时触发此事件 | |
| onrowsinserted | IE5、N | 当前数据源将要插入新数据记录时触发此事件 | |
| 外部事件 | onafterprint | IE5、N | 当文档被打印后触发此事件 |
| onbeforeprint | IE5、N | 当文档即将打印时触发此事件 | |
| onfilterchange | IE4、N | 当某个对象的滤镜效果发生变化时触发的事件 | |
| onhelp | IE4、N | 当浏览者按下F1或者浏览器的帮助选择时触发此事件 | |
| onpropertychange | IE5、N | 当对象的属性之一发生变化时触发此事件 | |
| onreadystatechange | IE4、N | 当对象的初始化属性值发生变化时触发此事件 | |
如何使用Putty
1.下載 SSH軟件Putty:
官方下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
本站下载:putty.rar
2.打開Putty,並輸入主機名或IP,點擊Open.如下圖。
3.之後會切換到另一個窗口,顯示提示login as:,這時輸入用戶名(如管理員用戶名root),按下"Enter"鍵出現輸入密碼提示,直接鍵入密碼按下"Enter"鍵就登入成功了。
(注意:輸入SSH密碼時是不會顯示出密碼也不出現星號,你只管輸入就行。)
使用技巧
因為我們使用Putty的次數比較多,所以我們不可能每次都要輸入IP,用戶名和密碼。通過一些設置,我們可以免去不斷輸入這些信息的煩惱。首先我們打開Putty,輸入你的主機名或IP,然後點擊左側Connection下的Data選項,在右側的Auto-login username輸入框中輸入用戶名。接著點擊左側的Session,在右側的Save Sessions輸入任意名稱(主要是為了讓你容易識別),點擊Save就完成了。
但這樣有一個問題,我們還是需要輸入密碼。因為Putty為了安全考慮,不提供保存密碼的功能,但我們可以使用證書實現免密碼登錄SSH,請看通過SSH證書實現Putty免密碼登入 CentOS (稍後提供)。
在 DirectAdmin 中安裝 Ioncube 都是非常容易的,幾個指令,就可以完成。
SSH 用 root 登入你的伺服器或VPS,執行
其實在 DirectAdmin 中安裝 Zend Optimizer / Guard Loader 是非常容易的,只要幾個指令,就可以完成, 系統會自行辨認 PHP 的版本, 而去決定安裝 Zend Optimizer 還是 Zend Guard Loader 的。
SSH 用 root 登入你的伺服器或VPS,執行