您的当前位置:首页面试题集

面试题集

来源:小侦探旅游网
1.echocount(\"abc\");输出什么?答案:12.用PHP写出显示客户端IP与服务器IP的代码答案:客户端getenv('REMOTE_ADDR');服务器端getenv('SERVER_ADDR');3.error_reporting(2047)什么作用?答案:相当于error_reporting('E_ALL');输出所有的错误4.echo,print()和print_r()有什么区别?答案:echo--是php语句,print(),print_r()是函数。语句没有返回值,函数有返回值;echo与print(),打印字符串,print_r(),可以打印数组;5.打开php.ini中的Safe_mode,会影响哪些参数?至少说出6个。答案:此模块打开时,php将检查当前脚本的拥有者是否和被操作文件的拥有者相同,因此,将影响文件操作类函数,程序执行函数(ProgramExecutionFunctions)。这些函数有.pathinfo,basename,fopen,system,exec,proc_open等函数;相关知识:

[PHP-Core-SafeMode];安全模式是为了解决共享服务器的安全问题而设立的。;但试图在PHP层解决这个问题在结构上是不合理的,;正确的做法应当是修改web服务器层和操作系统层。;因此在PHP6中废除了安全模式,并使用基于open_basedir的安全防护。;此部分指令在PHP6中已经全部被删除。safe_mode=Off;是否启用安全模式。;打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同,;相同则允许操作,不同则拒绝操作。safe_mode_gid=Off;在安全模式下,默认在访问文件时会做UID比较检查。;但有些情况下严格的UID检查反而是不适合的,宽松的GID检查已经足够。;如果你想将其放宽到仅做GID比较,可以打开这个参数。safe_mode_allowed_env_vars=\"PHP_\";在安全模式下,用户仅可以更改的环境变量的前缀列表(逗号分隔)。;允许用户设置某些环境变量,可能会导致潜在的安全漏洞。;注意:如果这一参数值为空,PHP将允许用户更改任意环境变量!safe_mode_protected_env_vars=\"LD_LIBRARY_PATH\";在安全模式下,用户不能更改的环境变量列表(逗号分隔)。;这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。safe_mode_exec_dir=\"/usr/local/php/bin\";在安全模式下,只有该目录下的可执行程序才允许被执行系统程序的函数执行。;这些函数是:system,escapeshellarg,escapeshellcmd,exec,passthru,;proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_execsafe_mode_include_dir=;在安全模式下,该组目录和其子目录下的文件被包含时,将跳过UID/GID检查。;换句话说,如果此处的值为空,任何UID/GID不符合的文件都不允许被包含。;这里设置的目录必须已经存在于include_path指令中或者用完整路径来包含。;多个目录之间用冒号(Win下为分号)隔开。;指定的限制实际上是一个前缀,而非一个目录名,;也就是说\"/dir/incl\"将允许访问\"/dir/include\"和\"/dir/incls\";如果您希望将访问控制在一个指定的目录,那么请在结尾加上斜线。6.写个函数来解决多线程同时读写一个文件的问题。7.请写一个函数验证电子邮件的格式是否正确(要求使用正则)答案:/***email地址验证*@paramstring$mailemail地址*@returnbool*/functioncheckEmail($mail){$reg='/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/';$rst=preg_match($reg,$mail);if($rst){returnTRUE;}else{returnFALSE;}}8.考SQL语句的题,题太长了,实在不好回忆了。9.MySQL数据库,一天一万条以上的增量,怎么优化?10.写出一种排序算法(要写出代码),并说出优化它的方法。11.写个函数用来对二维数组排序。答案:/***二维数组排序*@param*@param*@paramarray$arrayData要排序的而为二维数组string$filed要排序的字段bool$order排序方式,默认升序*@returnarray排序结果*/functionarraySort($arrayData,$filed,$order=true){$temp=array();$result=array();if(is_array($arrayData)){//转为一维数组foreach($arrayDataas$key=>$row){$temp[$key]=$row[$filed];}//一维数组排序if($order){asort($temp);}else{arsort($temp);}//生成新的二维数组foreach($tempas$key=>$row){$result[$key]=$arrayData[$key];}}return$result;}12.写5个不同的自己的函数,来截取一个全路径的文件的扩展名,允许封装php库中已有的函数。13.一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号9.1、有如下HTML:1)用js取得________方法取得该对象;2)用________属性取得属性title的属性值;3)用________方法取得属性sina_title的属性值;2、php中对数组序列化和反序列化的函数分别是______和_______;3、rawurlencode和urlencode函数的区别是__________________;4、php中过滤HTML的函数是_______,转义的函数是____________;5、写出用正则把HTML中的js脚本过滤掉;6、SQL中LEFTJOIN的含义是______________;如果有一个表tl_user存储学生ID和名字name,另外一个表tl_score存储学生ID、科目subject和成绩score(有的学生没有考试成绩),写出sql语句打印出学生名字和各科总成绩;7、写出三个调用系统命令的函数;8、josn处理数组的函数是;9、php中判断变量是否被设置是函数是_______;判断是否为空的是___________;10、error_reporting(\"E_ALL\")和ini_set(\"display_errors\\"on\")的区别_________;11、PHP写出显示客户端IP的预定义变量________;提供来路url的是__________;12、php把utf-8转换成gbk的函数是___________;13、php中分割字符串成数组的函数__________,连接数组成字符串的是_______;14、php中类的静态方法怎么使用_____________________________________;二、1、如下错误:mysqlservernotgoaway,的原因是什么?(大概这是这样)2、mysql的静态表和动态表的区别,MyISAM和InnoDB的区别.3、$a=1;$b=&$a;unset($a),$b是否还是1,为什么?unset($b),$a是否还是1,为什么?三、1、写出至少三个函数,取文件名的后缀,如文件'/as/image/bc.jpg',得到jpg或者.jpg。2、写一个函数,算出两个文件的相对路径如$a='/a/b/c/d/e.php';$b='/a/b/12/34/c.php';计算出$b相对于$a的相路径。3、用二分法(也叫折半查找法)查找某元素,对像可以是有序数组。

因篇幅问题不能全部显示,请点此查看更多更全内容