1、实现中文字串截取无乱码的方法?

答:function GBsubstr($string, $start, $length) {
    if(strlen($string)>$length){
     $str=null;
     $len=$start+$length;
     for($i=$start;$i<$len;$i++){
    if(ord(substr($string,$i,1))>0xa0){
     $str.=substr($string,$i,2);
     $i++;
    }else{
     $str.=substr($string,$i,1);
     }
    }
   return $str.'...';
    }else{
   return $string;
   }
}

2.用PHP写出显示客户端IP与服务器IP的代码?
答:打印客户端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');
   打印服务器IP:echo gethostbyname("www.bolaiwu.com");

3、如何修改SESSION的生存时间?
答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache
   方法2:$savePath = "./session_save_dir/";
         $lifeTime = 小时 * 秒;
         session_save_path($savePath);
         session_set_cookie_params($lifeTime);
         session_start();
   方法3:setcookie() and session_set_cookie_params($lifeTime);

4、有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?
答:方法1(对于PHP5及更高版本):
   $readcontents = fopen("http://www.phpres.com/index.html", "rb");
   $contents = stream_get_contents($readcontents);
   fclose($readcontents);
   echo $contents;
   方法2:
   echo file_get_contents("http://www.phpres.com/index.html");

5、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?);?
答:状态401代表未被授权,header("Location:www.xxx.php");

6.谈谈对mvc的认识?
答:由模型(model),视图(view),控制器(controller)完成的应用程序
   由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;

7. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?
答:按值传递:函数范围内对值的任何改变在函数外部都会被忽略
   按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
   优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
   按引用传递则不需要复制值,对于性能提高很有好处。

8.在PHP中error_reporting这个函数有什么作用?
答:设置错误级别与错误信息回报

9. 请写一个函数验证电子邮件的格式是否正确?
答:function checkEmail($email)
{
    $pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";
    return preg_match($pregEmail,$email);
}

10、JS表单弹出对话框函数是?获得输入焦点函数是?
答:弹出对话框: alert(),prompt(),confirm()
   获得输入焦点 focus();

11、JS的转向函数是?怎么引入一个外部JS文件?
答:window.location.href,<script type="text/javascript" src="js/js_function.js"></script>

12、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?
答:mysql_fetch_row是从结果集取出1行数组,作为枚举
   mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得;

13、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?
答:mysql_fetch_row是从结果集取出1行数组,作为枚举
   mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得;

14、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别?
答:int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串
    char的场地固定为创建表设置的长度,varchar为可变长度的字符

15、取得查询结果集总数的函数是?
答:mysql_num_rows($result);

17、请写出php5的构造函数和析构函数?
答:__construct , __destruct

18. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名?
   例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
答案1:
   function getExt($url){
   $arr = parse_url($url);
  
   $file = basename($arr['path']);
   $ext = explode(".",$file);
   return $ext[1];
}
答案2:
    function getExt($url) {
    $url = basename($url);
    $pos1 = strpos($url,".");
    $pos2 = strpos($url,"?");
    if(strstr($url,"?")){
         return substr($url,$pos1 + 1,$pos2 - $pos1 - 1);
    } else {
      return substr($url,$pos1);
    }
}

19. 写一个函数,算出两个文件的相对路径?
  如 $a = '/a/b/c/d/e.php';
  $b = '/a/b/12/34/c.php';
  计算出 $b 相对于 $a 的相对路径应该是 http://www.cnblogs.com/c/d将()添上
答:function getRelativePath($a, $b) {  
    $returnPath = array(dirname($b));  
    $arrA = explode('/', $a);  
    $arrB = explode('/', $returnPath[0]);  
    for ($n = 1, $len = count($arrB); $n < $len; $n++) {  
        if ($arrA[$n] != $arrB[$n]) {  
            break;  
        }   
    }  
    if ($len - $n > 0) {  
        $returnPath = array_merge($returnPath, array_fill(1, $len - $n, '..'));  
    }  
      
    $returnPath = array_merge($returnPath, array_slice($arrA, $n));  
    return implode('/', $returnPath);  
   }  
   echo getRelativePath($a, $b);

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/04/20/1716002.html

PHP经典面试题汇总(续)相关推荐

  1. 网易校园招聘历年经典面试题汇总:前端 岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 腾讯校园招聘历年经典面试题汇总:前 ...

  2. 网易校园招聘历年经典面试题汇总:C++研发岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 腾讯校园招聘历年经典面试题汇总:前 ...

  3. 百度校招历年经典面试题汇总:Java开发岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 百度校园招聘历年经典面试题汇总:C ...

  4. java web试题_Java web开发经典面试题汇总(内附答案详解)

    原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...

  5. 企业运维经典面试题汇总(5)

    1.git和svn 的区别 Git是分布式的,而Svn不是分布的 Git把内容按元数据方式存储,而SVN是按文件 Git没有一个全局版本号,而SVN有:目前为止这是跟SVN相比Git缺少的最大的一个特 ...

  6. 企业运维经典面试题汇总(4)

    1.如何过滤出已知当前目录下yangwen中的所有一级目录(提示:不包含yangwen目录下面目录的子目录及隐藏目录,即只能是一级目录)? 解答: 方法1:通过find直接查找指定类型的文件 [roo ...

  7. 企业运维经典面试题汇总(3)

    1.docker命令 容器生命周期管理 - docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 - docker [ps|insp ...

  8. 企业运维经典面试题汇总(2)

    1.写一个脚本查找最后创建时间是三天前,后缀是*.log的文件并删除 find .-ctime +3 -name '*.log' | rm -rf 2.统计ip访问情况,要求分析nginx访问日志,找 ...

  9. 今日头条校园招聘历年经典面试题汇总:C++研发岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 京东&华为 Java开发历 ...

最新文章

  1. java某市出租车_智慧职教mooc的APPJavaEE企业级网站开发章节测验答案
  2. 用物理学突破深度学习理论瓶颈? Google-斯坦福发布《深度学习统计力学》综述论文,30页pdf阐述深度学习成功机制...
  3. 判断为空时候,如何判断一堆空格为空?
  4. 苹果成AI“收购狂魔”,5年买下25家公司
  5. Android开发--SharedPreferences初步介绍
  6. 【Linux】一步一步学Linux——nslookup命令(161)
  7. TCP三次握手的原理及***手段
  8. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
  9. linux使用设备文件的目录,Linux系统下的/dev目录
  10. ToolBar控件去除默认的左边距
  11. java三种循环结构_Java的三种结构(循环结构)
  12. 你真的需要全栈开发吗?
  13. 安装更新Lenovo Solution Center更新失败!具体问题看内容!要是等官方技术人员解决,估计要等上好一段时间!...
  14. 无锡太湖学院计算机科学与技术宿舍,无锡太湖学院宿舍怎么样
  15. 浅谈Js对象的概念、创建、调用、删除、修改!
  16. 1.4-nginx启动脚本和配置文件
  17. 网关是什么?工业网关是什么?
  18. mysql下载速度慢怎么办
  19. layui select(下拉框)修改事件监听
  20. WebGL技术,让你可以在浏览器编辑模型

热门文章

  1. 如何获取PHP中的当前日期和时间?
  2. 如何遍历或枚举JavaScript对象?
  3. maven deploy到nexus报错:Return code is: 401, ReasonPhrase:Unauthorized
  4. css 设置表格右边有图片_我写CSS常用的方法
  5. ActiveMQ代码示例
  6. C++ 如何画橡皮线
  7. WIN32:参考文章
  8. python找工作好不好_Python这么火,为何有人说Python不好找工作?
  9. 总结better-scroll插件的使用
  10. JavaScript中函数的使用(源码解析)