php怎么把 \u767e\u79d1id\u4e0d\u6b63\u786e转化成汉字?

具体转化代码如下:

$str='\u767e\u79d1id\u4e0d\u6b63\u786e';
 
echo str_replace('\u',';&#x',$str);

IE8 的开发人员工具出不来了怎么办?

IE8 的开发人员工具挺好用,就是有时候出问题,当我们按F12的时候,任务栏里出现开发人员工具的任务,但是开发人员工具窗体不弹出,也不出现在IE8里,重装IE88后还是存在此问题,很是让人郁闷。

在网络上看到也经常看到有人求助,说 IE8 开发人员工具出不来了,或IE8 开发人员工具不见了,或IE8 开发人员工具无法使用了!很是着急!

现在,告诉大家一个很好的解决办法:

    解决办法其实非常简单:

    1、在IE8开发工具任务栏图标上的缩略图上点右键-最大化,然后就出来了。

    2、Crtl+P可以出来调试模式 //编者注:此热键乃是让工具与IE8窗口结合在一起(也就是固定工具在IE8里的位置),必须先打开工具,否则是IE8打印的热键!


easyphp框架1.1版本发布了

easyphp框架发布了

本次更新的内容有:
1.增加 APP_NAME 常量,为项目目录,修改 CORE 常量为ROOT_PATH

2.增加对多数据库的支持,修改config.inc.php数据库配置数据为二维,具体调用方法见附录。

3.添加初始化文件夹/文件的创建 ,只需在入口文件中定义好APP_NAME ,系统便会自动创建 APP_NAME文件夹,里面包含 controller,view,model三个文件夹和默认的 index_controller.class.php ,index_model.class.php

4.添加创建controller/model的小工具 ,只需在 当前把当前动作改为tools就可以看到其界面了,如 index.php?c=message&a=tools ,在这里可以方便的创建controller 和model了,再也不用我们复制修改了。如果该模板创建的轻拿默认模板不能满足你的需要,可以修改core/data/的模板类文件。

————————————————————————————–

说明 :

a .多数据支持的 config.inc.php 格式应该写成这样

define (‘TABLE_PRE’,'e_’);
$s_db_config = array (
1 => array (‘db_host’=>’localhost’,'db_user’=>’root’,'db_password’=>”,’db_name’=>’easyphp’,'db_charset’=>’UTF8′),
2 => array (‘db_host’=>’localhost’,'db_user’=>’root’,'db_password’=>”,’db_name’=>’test’,'db_charset’=>’UTF8′),
3 => array (‘db_host’=>’localhost’,'db_user’=>’root’,'db_password’=>”,’db_name’=>’baike’,'db_charset’=>’UTF8′),
);

注意:索引必须大于0 ,1表示数据库1的信息,2表示数据库2的信息,依次类推。
在调用时以这样的方式来调用 :

// $temp2 = $this->mod(2)->result_sql (“select * from bf_user limit 3 “);
// var_dump ($temp2);
// $temp3 = $this->mod(1)->result_sql (“inert into ##__test (id,tid,pid) values (1,2,3) “);
// var_dump ($temp3);

目前暂只支持 result_sql ,exec_sql 两种方法。

————————————————–
程序下载请点这里 easyphp 1.1
自带一个留言板的例子,方便大家入门。如发现问题,请及时联系我 .qq 121325501 谢谢。

如果你想下载更旧的版本,请查看  easyphp 框架V1.0发布了

申明:本程序仅供学习研究之用,请勿用于实际项目。


怎么把方角的矩形照片切成圆角?

圆角矩形工具 选中要弄的图片 然后 CTRL+ENTER 再然后SHIFT+CTRL+I 再然后点DEL 好了


js中怎么判断窗口是否被iframe包含?

<pre lang=”javascript”>

if (parent != self) {

alert (‘我被iframe包含了,我不干!’);

}

</pre>


关于SQL语句where后有限制条件却取出条件外数据问题的分析

前几天,在写一个SQL语句的时候,where后面明明有限制条件,却每次都将表中其它数据也取出来了。测试了半天还是不行。 这到底是什么原因呢? 最后才发现 ,原来有一个字段我用的是varchar ,里面的值 又是 也逗号分隔的,如 1,2,3,4 但 SQL语句中却用的是这样的 receive_id = 1 ,结果就会出现上面的问题,原来是MYSQL 会自动将1,2,3,4自动转换成int 型,这样一转,就转成 1了,所以结果中老有 1,2,3,4 这样的记录。改成 is_read = ’1′ ,一切终于ok 了。

总结: int 型的 可以写成 字符型 ,如is_del  = ’1′  (is_del 为tinyint型),但字符型的不能写成 int 型 ,如 is_read = 1 ,(is_read 为varchar ) 结果就错了。


jquery json插件代码

/**
* @file jQuery.Json.js
* @description 用于支持Json与其它类型互转的扩展方法
* @author knowmore
* @date 2011-03-01
* @license share
* @version 1.0.20110301
**/
 
/**
* 将json字符串转换为对象的方法。
*
* @public
* @param json字符串
* @return 返回object,array,string等对象
**/
jQuery.extend({
/** * @see 将json字符串转换为对象 * @param json字符串 * @return 返回object,array,string等对象 */
evalJSON: function(strJson) {
return eval("(" + strJson + ")");
}
});
 
/**
* 将javascript数据类型转换为json字符串的方法。
*
* @public
* @param {object} 需转换为json字符串的对象, 一般为Json 【支持object,array,string,function,number,boolean,regexp *】
* @return 返回json字符串
**/
jQuery.extend({
toJSONString: function(object) {
var type = typeof object;
if ('object' == type) {
if (Array == object.constructor) type = 'array';
else if (RegExp == object.constructor) type = 'regexp';
else type = 'object';
}
switch (type) {
case 'undefined':
case 'unknown':
return;
break;
case 'function':
case 'boolean':
case 'regexp':
return object.toString();
break;
case 'number':
return isFinite(object) ? object.toString() : 'null';
break;
case 'string':
return '"' + object.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function() {
var a = arguments[0];
return (a == '\n') ? '\\n': (a == '\r') ? '\\r': (a == '\t') ? '\\t': ""
}) + '"';
break;
case 'object':
if (object === null) return 'null';
var results = [];
for (var property in object) {
var value = jQuery.toJSONString(object[property]);
if (value !== undefined) results.push(jQuery.toJSONString(property) + ':' + value);
}
return '{' + results.join(',') + '}';
break;
case 'array':
var results = [];
for (var i = 0; i &lt; object.length; i++) {
var value = jQuery.toJSONString(object[i]);
if (value !== undefined) results.push(value);
}
return '[' + results.join(',') + ']';
break;
}
}
});

使用方法如下:
(1)toJSONString

  var goods        = new Object();
  goods.quick    = quick;
  goods.spec     = spec_arr;
  goods.goods_id = goodsId;
  goods.number   = number;
  $.post('aaaa.php?step=getPro', 'goods=' + jQuery.toJSONString(goods), getResponse, 'JSON');

(2)evalJSON

    result=jQuery.evalJSON(result);
    alert(result.error);

你也可以直接 点出这里下载


jquery插件制作教程

jQuery为开发插件提拱了两个方法,分别是:

jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。

jQuery.fn.extend(object);给jQuery对象添加方法。

虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。

jQuery便是一个封装得非常好的类,比如我们用 语句 $(“#btn1″) 会生成一个 jQuery类的实例。

jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。如:

 
$.extend({
 
  add:function(a,b){return a+b;}
 
});

jQuery.fn.extend(object); 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以如下实现:

  $.fn.extend({     
 
     alertWhileClick:function(){     
 
         $(this).click(function(){     
 
              alert($(this).val());     
          });     
 
      }     
 
  });     
 
  $(" input1").alertWhileClick(); //页面上为:<input id="input1" type="text"/>

easyphp 框架V1.0发布了

easyphp 框架简介

fanglor 2011-05-26

1.easyphp 是什么?
easyphp 是一个简单实现了MVC模式、统一入口及常用函数集成的易用的php框架
2.文件结构

————————–
│  admin.php
│  index.php

├─admin    //后台项目文件夹
│  ├─controller
│  ├─model
│  └─view
├─app     //前台项目文件夹
│  │  index.php   //默认空白文件
│  │
│  ├─controller
│  ├─model
│  │
│  └─view
│      └─public
├─cache    //缓存文件夹
│  ├─data    //数据缓存文件夹
│  └─template   //模板编译文件夹

├─core    //模板核心文件夹
│  │  base_controller.class.php //controller层基类,里面集成了实例化的mod和view ,以及框架起动函数
│  │  base_model.class.php  //model层基类,继承于mysql类
│  │  base_view.class.php  //view层基类,内部实例化了smarty
│  │  config.inc.php   //数据库配置文件
│  │  easyphp.php   //公共包含文件,内引进了框架启动所必需的文件
│  │  global.func.php   //公共函数文件
│  │  image.class.php   //图片处理类
│  │  message.html   //默认提示信息模板
│  │  mysql.class.php   //mysql数据库类
│  │
│  ├─font    //字体文件夹
│  │
│  └─smarty    //集成smarty模板文件夹

├─d3f     //第三方扩展文件夹
└─doc     //文档文件夹
└─sql    //数据库文件夹

3. 常用集成函数

function C ($ctl)       //快速创建控制器对象
function D ()        //快速创建模型对象,支持空模型
function M ($mod)       //快速创建模型对象,不支持空模型
function __autoload ($classname)     //模型自动加载类
function addslashes_deep($value)     //递归转义字符串
function del_cache ()       //删除缓存文件
function get_child_ids ($sid = 0)     //得到子分类id集
function get_sort ($table , $pid = 0 ,$n=-1)    //无限分类函数
function get_sort_path ($url ,$sort_id)     //得到分类全路径函数(类似面包屑式导航)
function go_to_url ($url=”)      //JS实现无提示直接跳转
function msg ($msg ,$url = ”)      //JS提示框
function page ($total,$url,$pagesize,$_var=’p',$str=”)   //通用分页函数
function rand_str ( $len = 4)      //随机生成字符串函数
function read_file ($key )      //读取文件缓存
function rmkdir ($path)       //创建多层文件目录函数
function truncate_cn($string, $length = 80, $etc = ‘…’, $code = ‘gbk’)//中文字符串截取
function upload ( $file ,$upload_dir= ‘.’ ,$max_size = 500)  //文件上传函数
function url ($c,$a,$args =array ())     //url 构造函数
function vcode ($index=’vcode’)      //验证码函数,会用到core/font里的文件
function write_file ($key ,$val ,$lifttime=3600)   //写文件缓存函数
function xmd5 ($str)       //加强MD5加密函数
include “mod/Message.class.php”;
$message =new MWT_Message();
$temp2 = $message->fields(‘id,title,content’)->where( ‘ name = “123″ or sex like “%body”‘)->order(‘id asc ‘)->limit(’3,5′)->findAll ();
var_dump ($temp2);
exit;

4. MVC

4.1 mod
model层必须继承 base_model类 ,在里面设好 $table (表名 ,##__表示表前缀,在config.inc.php中定义) ,$pk (主键),保存在各项目文件夹中的model内,文件名必须为xxx_model.class.php ,里面的类名为去掉_model.class.php 之后的名字
4.2 view
模板文件保存在各项目文件夹中的view内,文件名无限制,但一般与 controller的类名一致,后缀名为.html 。<% %> 为定义的模板标签定界符 ,变量应写在其中,例如 <%$username%> ,在 controller类的方法中 可以用 形如 $this->username = ‘fanglor’; 或 $this->assign (‘username’,'fanglor’);把变量赋值到模板,最后 用 $this->display (‘index.html’); 方法调用并显示模板内容
4.3 controller
controller层必须继承 base_controller类 ,在里面最上面一行写上 !defined (‘IN_EASY’) && die (‘没有权限 ‘.basename(__file__)); 权限校验
,保存在各项目文件夹中的controller内,文件名必须为xxx_controller.class.php ,里面的类名为去掉_controller.class.php 之后的名字

4.4 mvc的实现
主要是通过地址路由转发的 ,例如: index.php?c=message&a=list 会自动调用 message_controller.class.php 中的 list方法  ,所以controller类中的各个方法一般对应一个地址动作
5,数据库常用 操作 方法 例举

增加:

M(‘message’)->insert ($data ); //添加 $data 为 要插入的数据 ,索引为 映射好的 索引名

删除 :

M(‘message’)->del () // 全部删除

M(‘message’)->where (‘id < 5′)->del ();  //删除ID<5的记录

M(‘message’)->delet e (5) ; // 删除 主键为 5的记录,只适用于删除当前主键为该数字的情况下

M(‘message’)->delet e (); //删除所有

修改:
M(‘message’)->update ($data);  //全部修改
M(‘message’)->where (” id = 7″ )->update ($data); //修改ID = 7 的记录 为 $data 里的内容,$data为数组,索引为映射后的

查询 :

M(‘message’)->find_by_id ($id); //查一条记录的所有字段 (一维数组) ,结果同下

M(‘message’)->where (” id = ‘$id’” )->find ();

M(‘message’)->fields (‘title,content’)->where (‘id = 7′)->find (); //查询一条记录的某些字段 (一维数组)

M(‘message’)->fields (‘content’) ->findAll() //查表中的所有数据 (二维数组)

M(‘message’)->where (“id > 7″)-> findAll();

M(‘message’)->fields (‘user_1′) ->where (“id > 7″)->order(‘id desc ‘)-> findAll();

M(‘message’)->fields (‘user_1′) ->where (“id > 7″)->order(‘id_1 desc ‘)->limit(10,5)-> findAll(); //用于分页

多表查询 :

M(‘message’)->fields(“a.uid,a.title,a.content,b.username”)->table(“##__message a left join ##__user b on a.uid = b.uid “)->findAll();
其它:

result_sql :执行SQL返回多维数据的方法 (适用于select语句)

$this->message_list = M(‘message’)->resultSql(“SELECT m.*,u.username fro m message m LEFT JOIN userinfo u ON m.user_id = u.user_id WHERE 1 ORDER BY m.mid “);

exec_sql : 直接执行SQL方法 (适用于insert ,update ,delet e )

$this->exec_sql (” delet e fro m ##__message where id = ‘{$id}’”);

count  :查询记录条数方法

$total = M(‘message’)->count ();//查出表中共有多少条记录

$total = M(‘message’)->where (” name = ‘fanglor’”)->count ();//查出表中叫fanglor 的共有多少条记录

get_field :获取某个字段的值 ,返回值为字段串

$username = M(‘user’)->fields(‘username’)->where (” id = 5″)->get_field ();//查出id为5的用户的名字

6.快速入门例子

详见 演示代码中的留言本例子

点击下载源码


apache中的Alias怎么配置?

原创 apacheAlias配置 收藏

apache中配置Alias,如下格式

<VirtualHost *:80>  
     ServerAdmin fanglor@163.com  
     DocumentRoot /server/www  
     <Directory />  
	     Options FollowSymLinks  
	     AllowOverride None  
     </Directory>  
     <Directory /server/www/>  
	    Options Indexes FollowSymLinks MultiViews  
	    AllowOverride None  
	    Order allow,deny  
	    allow from all  
    </Directory>  
 
Alias /suizhou "/exports/suizhou"  
<Directory "/exports/suizhou">  
    Options  Indexes  
    AllowOverride AuthConfig FileInfo  
    Order allow,deny  
    Allow from all  
</Directory>  
</VirtualHost>

注意,要将httpd.conf的

User和Group设置为有权限访问Alias指向目录。否则访问会出现403 forbidden


js获取地址栏参数

怎样用js获取地址栏参数?

Read more »


Function set_magic_quotes_runtime() is deprecated

php 出现 Function set_magic_quotes_runtime() is deprecated 怎么办 ?

Read more »


赶集网招PHP中高级开发工程师

赶集网招中高级php工程师

公司简介:

赶集网是目前国内最大的生活分类信息平台(日均PV超过4000万),不仅在桌面互联网上拥有最多的用户,最大的发帖量以及最高的浏览量,还是移动互联网领域该行业的领军企业(在android, iphone, symbian, kjava, mtk, bada六个平台都有独立的客户端软件)。赶集网目前的技术团队很多来自于Google、百度、腾讯、微软、联想、亿邮、yahoo等公司。

工作内容:

参与赶集网前端页面架构、性能优化以及房产、汽车、物品交易等垂直频道的开发工作,年薪在13万至20万之间

php工程师 职位要求:

至少3年以上LAMP开发经验

精通Php5和mysql,熟练掌握OOP编程,精通Smarty的使用

熟悉Linux操作系统及常用shell命令;

熟悉js、ajax,熟悉jquery者优先;

了解并研究过hadoop, mapreduce, redis等开源项目

对规范化、标准化、团队化软件开发有正确理解和认识,具有良好的代码和技术文档编写习惯。

乐观向上,有良好的敬业精神、学习能力和团队协作能力,勇于迎接挑战,追求卓越。

良好的算法基础,有较强的算法优化能力

本科及以上学历


mysql使用索引时应注意的事项

sql优化时使用mysql索引应注意的问题

  1 .索引不会包含有NULL值的列
  只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。
  2 . 使用短索引
  对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的列,如果在前10个或20个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。
  3 . 索引列排序
  MySQL查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。
  4 . like语句操作
  一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。
  5 . 不要在列上进行函数运算
  select * from users where YEAR(adddate)<2007;
  将在每个行上进行函数运算,这将导致索引失效而进行全表扫描,因此我们可以改成
  select * from users where adddate<‘2007-01-01’;
  6 . 不使用NOT IN和<>、!=操作


php不为人知的函数register_shutdown_function的用法

php不为人知的函数register_shutdown_function 的用法小探

Read more »