PHP 问答 01

// 写出一些php魔术方法

     __construct()

     __destruct()

     __call()

     __callStatic()

     __set()

     __get()         

     __autoload()    // 自动加载

     __isset()       

     __unset()       

     __invoke()      // 当函数以函式的方式调用对象时 调用此方法

     __tostring()    // 当输出对象时调用此方法

     __sleep()       // 当serialize对象时调用此方法

 

// mysql请写出数据类型(int(11) char varchar(255) datetime text)的意思

     int(11)      整型 11 个字节

     varchar(255) 字符串型 255 个字节

     datetime     时间型 

     text         文本类型

 

// 请解释单点登录的原理

     当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行效验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。

 

// pack函数的作用

     string pack(string format, mixed [args]…);

     函数把数据装入一个二进制字符串

 

// MySQL的存储引擎MyISAM和innoDB的区别

     InnoDB 和 MyISAM 是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM 类型不支持事务处理等高级处理,而 InnoDB 类型支持。MyISAM 类型的表强调的是性能,其执行数度比 InnoDB 类型更快,但是不提供事务支持,而 InnoDB 提供事务支持已经外部键等高级数据库功能。

 

// 介绍mysql中事务如何使用

     mysql_query('AUTOCOMMIT = 0');

     mysql_query('ROOLBACK');

     mysql_query('COMMIT');

 

// 上传的文件规则 如 按照日期

     可以按照 年 月 日 时 分

     MD5 前三位 每位 分割

     取余  总目录数 / 目录数 先创建好目录

     

// 写出匹配 email 和 URL 的正则表达式, 使用 php 正则语法

     $partten = '/^[a-zA-Z0-9_+.-]+\@([a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,4}$/';

     $match = preg_match($partten, $content);

 

// 写出你个你用过的 PHP 扩展

     curl mysqli pdo gd msubstr xdebug mysql 

 

// 禁用 COOKIE 后 SESSION 还能用吗?

     能用

     COOKIE  存储再客户端

     SESSION 存储再服务端

     但是 禁用 COOKIE 后 sessionid 会获取不到,可以将sessionid 存入 数据库 或者 文件中

posted @ 2013-05-27 20:19  yiya1995  阅读(92)  评论(0)    收藏  举报