月归档:2010 年七月

【转】div+css面试题

 1.超链接访问过后hover样式就不出现的问题?   被点击访问过的超链接样式不在具有hover和active了,处理方法是改动CSS属性的排列顺序: L-V-H-A   2.IE6的双倍边距BUG   例如: <style type=”text/css”>  body {margin:0}  div { float:left; margin-left:10px; width:200px; height:200px; border:1px solid red }</style>   浮动后本来外边距10px,但IE解释为20px,处理办法是加上display:inline   3.为什么FF下文本无法撑开容器的高度?   标准浏览器中流动高度值的容器是不会象IE6里那样被撑开的,那我又想流动高度,又想能被撑开需要怎样设置呢?办法就是去掉he ight设置min-height:200px; 这里为了照顾不认识min-height的IE6 可以这样定义: div { height:auto!important; height:200px; min-height:200px; }   4.为什么web标准中IE无法设置滚动条颜色了?   原来样式设置: <style type=”text/css”>body { scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee; scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000; scrollbar-track-color:#fff; … 继续阅读

发表在 Css | 标签为 | 留下评论

【转】jQuery.getScript跨域加载远程PHP文件

jQuery.getScript跨域加载远程PHP文件,实现远程信息共享 最近有一个跨域加载远程PHP文件需求,需要将跨域远程的用户信息加载到本地使用,研究和参考相关资料,非常简单,其它后缀类似文件(asp,js)一样。 解决方案如下: 需要两个文件:提供信息的PHP文件(访问的远程文件),加载远程文件的JS文件(获取或处理远程信息) —————————————————————— infoBox.php(提供远程信息,与JS文件不在同一域) <?php $InfoBox = array(‘url’=>’biuuu.com’,’title’=>’必优博客’);echo ‘var data=’ . json_encode($InfoBox) . ‘;’; ?> 将数据组装数组,通过PHP内置函数json_encode将数组转化成json数组,方便数组内容被远程调用。 —————————————————————— box.js(调用远程PHP文件JS类) var box = {};var remoteUrl = ‘http://www.biuuu.com/infoBox.php’;//远程调用URL box.showBoxInfo = function() {jQuery.getScript(remoteUrl, function(){var boxInfoWrapper = jQuery(‘#boxInfoWrapper‘);var html = box.getBoxHtml(data.url,data.title);boxInfoWrapper.html(html);});} box.getBoxHtml = … 继续阅读

发表在 Ajax | 标签为 , | 留下评论

【转】phpcms文本缓存机制

PHPCMS文本缓存: 作用:把有些不变的数据(比如PC后台的菜单名称之类的),从数据库里读出来,然后存在PHP文件里面,在下次调用的时候就不用再查询数据库,直接从PHP文件里面读出相关信息。这样可以大大降低MYSQL的负荷从而提高了网站的速度。 首先cache.func.php: function cache_common:读取各种信息并写进common.php里面。其中有一个cache_write函数。 function cache_write:里面的主要函数file_put_contents,主要作用的写入数据到common.php里面。 接下来就是把cache_common拆分,单独缓存模块cache_module、模型cache_model、地区cache_area等等等。。。其中一个通用函数cache_table。 function cache_table:不用多说,看代码就很明白。分别生成各表文本缓存,然后按一定的规律保存文件名。 OK!文本缓存搞定!

发表在 Php | 标签为 , | 留下评论

【转】Uchome 所用程序通用方法汇总

function_common.php 引用: //SQL ADDSLASHESfunction saddslashes($string) return $string; //取消HTML代码function shtmlspecialchars($string)   return $string; //字符串解密加密function authcode($string, $operation = ‘DECODE’, $key = ”, $expiry = 0) //清空cookiefunction clearcookie() //cookie设置function ssetcookie($var, $value, $life=0) //数据库连接function dbconnect() //获取在线IPfunction getonlineip($format=0) //判断当前用户登录状态function checkauth() //获取用户app列表function getuserapp($uid=0) //获取到表名function tname($name) //对话框function showmessage($msgkey, … 继续阅读

发表在 Uchome | 标签为 , , , , , | 留下评论

【转】ucenter1.5通讯过程分析

1,用户登录bbs,通过logging.php文件中,使用函数uc_user_login验证,如果验证成功,将调用函数uc_user_synlogin(位于uc_client下的client.php文件中),在这个函数中调用 uc_api_post(‘user’, ‘synlogin’, array(‘uid’=>$uid));之后向UC_API.’/index.php’传递了数据;这里的UC_API就是在config.inc.php中的定义的uc_server之URL地址2,uc_server的index.php接受参数数据,获得model为user,action为synlogin,就调用control目录下的user.php类中的onsynlogin方法,通过foreach循环,以javascript的方式通知uc应用列表中的应用同步登录;即通过get方式传递给应用目录中api下的uc.php一些数据;3,uc.php接收通知并处理get过来的数据,并在函数synlogin(位于uc.php中)通过函数_authcode加密数据(默认以UC_KEY作为密钥),用函数_setcookie设置cookie;4,各个应用在适当的文件中用对应的密钥解码上面设置的cookie,得到用户id等数据;通过这个值来判断用户是否经过其它应用登录过; ——————————————————————————————————- 不同的应用加密的函数名称可能不同,但密钥相同情况下,加密结果是一样的: uc.php里是_authcode,client.php里是uc_authcode,bbsincludeglobal.func.php里是authcodeuchomesourcefunction_common.php里是authcodesupersitefunctioncommon.func.php里是authcode —————————————————————————————————— 以discuz举例: 一、用户登录检查与用户登录验证logging.php 在bbs的logging.php中如下代码段 } elseif($action == ‘login’) { if($discuz_uid) {   $ucsynlogin = ”;   showmessage(‘login_succeed’, $indexname);} 检查用户id变量$discuz_uid是否为空来判断,用户是否登录(包括从别的应用登录。) 如果用户从bbs登录,则在登录验证成功后通过如下代码: $ucsynlogin = $allowsynlogin ? uc_user_synlogin($discuz_uid) : ”; 通知其它应用—-“用户已从bbs登录,请通知其它应用设置cookie” (uc_server通过javascript调用方式向其它应用的api/uc.php传递数据) 可以在uc应用目录下新建一个名为test.php的文件,来模拟登录成功,请求uc_server通知其它应用。文件内容为: ———————文件内容开始———————- <?phpinclude_once “config.inc.php”;include_once “./uc_client/client.php”;echo uc_user_synlogin(1);echo … 继续阅读

发表在 Uchome | 标签为 , , | 留下评论

【转】IE和火狐常见的css区别汇总

1. Div居中问题 div设置 margin-left, margin-right 为 auto 时已经居中, IE 不行,IE需要设定body居中, 首先在父级元素定义text-algin: center; 这个的意思就是在父级元素内的内容居中。    2.链接(a标签)的边框与背景 a 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。 参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。 3.超链接访问过后hover样式就不出现的问题 被点击访问过的超链接样式不在具有hover和active了 解决方法是 改变CSS属性的排列顺序: L-V-H-A Code: … 继续阅读

发表在 Css | 标签为 , | 留下评论

PHP删除特定数组内容并且重建数组索引的方法

转自:http://www.skiyo.cn/2008/08/23/php-to-delete-a-specific-array-of-content-and-method-of-rebuilding-the-array-index/ 我们知道.PHP没有提供专门删除一个特定数组元素的方法. 但是可以通过unset()函数来完成. $a = array(‘a’,'b’,'c’,'d’);   unset($a[2]);   print_r($a);  但是这种方法的最大缺点是没有重建数组索引. 经过查资料后.原来PHP提供了这个功能.只不过很间接.. 这个函数是array_splice. 为了使用方便.我封装成了一个函数.方便大家使用. function array_remove(&$arr,$offset){       array_splice($arr,$offset,1);   }   $a = array(‘a’,'b’,'c’,'d’);   array_remove($a,2);   print_r($a);  经过测试可以知道.2的位置这个元素被真正的删除了.并且重新建立了索引.

发表在 Php | 标签为 | 留下评论