




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PHP程序员面试题1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中?php/本页地址,SCRIPT_NAME也可以:php/test.phpecho$_SERVERPHP_SELF.;/链接到当前页面的前一页面的 URL 地址:echo$_SERVERHTTP_REFERER.;/其它的见参考手册:语言参考变量预定义变量/前执行脚本的绝对路径名:D:Inetpubwwwrootphp est.php echo$_SERVERSCRIPT_FILENAME.;/正在浏览当前页面用户的 IP 地址:echo$_SERVERREMOTE_ADDR.;/查询(query)的字符串(URL 中第一个问号 ? 之后的内容):id=1&bi=2echo$_SERVERQUERY_STRING.;/当前运行脚本所在的文档根目录:d:inetpubwwwrootecho$_SERVERDOCUMENT_ROOT.;?2.执行程序段将输出_。?php/参考手册语言参考运算符算术运算符%为取模运算,输出0echo8%(-2).;/取模 $a % $b 在 $a 为负值时的结果也是负值。输出-2echo(-8)%3).;/输出2echo(8%(-3).;?3.在HTTP 1.0中,状态码 401 的含义是_;如果返回“找不到文件”的提示,则可用 header 函数,其语句为_。答:401表示未授权;header(HTTP/1.0 404 Not Found);见参考手册函数参考HTTP函数header4.数组函数 arsort 的作用是_;语句 error_reporting(2047)的作用是_。答:arsort:对数组进行逆向排序并保持索引关系 error_reporting(2047)的作用是:report All errors and warnings5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):?php$script=以下内容不显示:alert(cc);echopreg_replace(/.*?.*?/si,替换内容,$script);?6.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句_动态装载PHP模块,然后再用语句_使得Apache把所有扩展名为php的文件都作为PHP脚本处理。答:LoadModule php5_module c:/php/php5apache2.dll;AddType application/x-httpd-php .php见参考手册目录II. 安装与配置6. Windows 系统下的安装Microsoft Windows 下的 Apache 2.0.x7.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是_;为了避免多次包含同一文件,可以用语句_来代替它们。答:在如何处理失败时,include() 产生一个警告而 require() 则导致一个致命错误;require_once()/include_once()8.一个函数的参数不能是对变量的引用,除非在php.ini中把_设为on.答:allow_call_time_pass_reference boolean :是否启用在函数调用时强制参数被按照引用传递, 见参考手册附录G9.SQL 中LEFT JOIN的含义是_,如果 tbl_user记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句_.答:自然左外连接createdatabasephpinterview;usephpinterviewcreatetabletbl_user( ID int notnull, name varchar(50) notnull, primarykey(ID);createtabletbl_score( ID int notnull, score dec(6,2) notnull, subject varchar(20) notnull);insertintotbl_user (ID, name) values(1, beimu);insertintotbl_user (ID, name) values(2, aihui);insertintotbl_score (ID, score, subject) values(1, 90, 语文);insertintotbl_score (ID, score, subject) values(1, 80, 数学);insertintotbl_score (ID, score, subject) values(2, 86, 数学);insertintotbl_score (ID, score, subject) values(2, 96, 语文);selectA.id,sum(B.score) assumscorefromtbl_user A leftjointbl_score BonA.ID=B.IDgroupbyA.id10. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须_答:结束标识符所在的行不能包含任何其它字符除;11.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。1、用PHP打印出前一天的时间,格式是2006-5-10 22:21:21(2分)echo date(Y-m-d H:i:s,date(U)-86400);或者 echo date(Y-m-d H:i:s, strtotime(-1 day);2、echo(),print(),print_r()的区别(3分)echo 是PHP语句,语句是没有返回值的,而print和print_r是函数,函数可以有返回值。print只能打印出简单类型变量的值(如int,string)print_r可以打印出复杂类型变量的值(如数组,对象)echo - 输出一个或者多个字符串3、能够使HTML和PHP分离开使用的模板(1分)smarty模板4、使用哪些工具进行版本控制?(1分)CVS和SVN subversion 5、如何实现字符串翻转?(3分)使用php函数strrev( abc)6、优化MYSQL数据库的方法。(4分,多写多得)(1).选取最适用的字段属性,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。(2).使用连接(JOIN)来代替子查询(Sub-Queries)(3).使用联合(UNION)来代替手动创建的临时表(4).尽量少使用 LIKE 关键字和通配符(5).使用事务和外键7、PHP的意思(送1分)PHP 是一种服务器端的,嵌入HTML的脚本语言。英文“超级文本预处理语言”(Hypertext Preprocessor)的缩写8、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)now( ) date_format( date, format )9、实现中文字串截取无乱码的方法。(3分)当用 substr 截取中文字符的时候会出现乱码,当然你如果装了 mb 扩展, 用 mb_substr截取就不会出现这种问题,如果你用的是虚拟主机,主机上又没装 mb扩展的话,你可以用下面的函数截取# Cut chinese string into appointed length# param string string need deal# param start position to cut from# param length length to cut# return stringfunction GBsubstr($string, $start, $length) if(strlen($string)$length)$str=null;$len=$start+$length;for($i=$start;$i0xa0) $str.=substr($string,$i,2); $i+; else $str.=substr($string,$i,1); return $str.;elsereturn $string;10、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)CVS subversion11、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)Smarty Discuz12、请简单阐述您最得意的开发之作(4分)。13、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)首先,确认服务器硬件是否足够支持当前的流量其次,优化数据库访问。第三,禁止外部的盗链。第四,控制大文件的下载。第五,使用不同主机分流主要流量第六,使用流量分析统计软件。14、用PHP写出显示客户端IP与服务器IP的代码(1分)客户端IP: echo $_SERVERREMOTE_ADDR; 或者: getenv(REMOTE_ADDR);服务器IP:$serverIP=gethostbynamel(webpro01); echo Server IP Address:; for ($i=0; $i echo .$netscapeftp$i; echo ; ? 15、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)1、PHP程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。2、PHP程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。3、require() :如果文件不存在,会报出一个fatal error.脚本停止执行4、include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。16、如何修改SESSION的生存时间(1分).1.将php.ini 中session.gc_maxlifetime 设置为 9999(默认为 1440)重启 apache 即可2.$savePath = ./session_save_dir/;$lifeTime = 24 * 3600;session_save_path($savePath);session_set_cookie_params($lifeTime);session_start();3.setcookie() 或session_set_cookie_params($lifeTime)17、有一个网页地址, 比如PHP开发资源网主页: /index.html,如何得到它的内容?($1分)/需要读取的page地址$http_page_url=/index.html;/打开远程文件$read_file=fopen($http_page_url,rb);if (!feof($read_file) /读取远程文件$file_stream = ;do $data = fread($read_file, 8192);if (strlen($data) = 0) break;$file_stream.= $data; while(true);echo $file_stream; /输出内容对 PHP 5 及更高版本可以:$handle = fopen(/index.html, rb);$contents = stream_get_contents($handle);fclose($handle);echo $contents;?最简单的方法是调用函数:print file_get_contents(/index.html);?18、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?);(2分)状态值为401,代表未被授权; header(Location: ); 19、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)heredoc的语法是用加上自己定义成对的标签,在标签范围內的文字视为一个字符串$str = 需要注意的是:1、25. 请写一个函数验证电子邮件的格式是否正确 (2分)(1)Javascript实现:function checkEmail(form)re=/s+s+.s+$/;if(re.test(form.value) alert(符合验证);else alert(验证失败);(2)php实现function CheckMailAdr($str)return(eregi(“_.0-9a-z-+(0-9a-z0-9a-z-+.)+a-z2,3$“,$str);(3)function validateEmail($email) if(eregi(_a-z0-9-+(._a-z0-9-+)*a-z0-9-+(.a-z0-9-+)*$,$email) ) return true; else return false; 26. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)说明:例如有一个脚本 ,传给他的参数有参数1,参数2,参数3。传递参数的方法有可能是GET有可能是POST,那么现在请写出类似:/script.php?参数1=值1&参数2=值2. 的结果。1获取所有参数:可以用以下方法:/获取post的数据while (list($var, $value) = each($HTTP_POST_VARS) echo “$var = $value n“;/获取get方式的数据while (list($var, $value) = each($HTTP_GET_VARS) echo “$var = $value n“;2. echo $_SERVERscrpt_FILENAME.?.$_SERVERQUERY_STRING;27、JS表单弹出对话框函数是?获得输入焦点函数是? (2分)弹出对话框: alert(),prompt(),confirm()获得输入焦点 focus()28、JS的转向函数是?怎么引入一个外部JS文件?(2分)转向函数 window.location.href引入外部JS文件:29、foo()和foo()之间有什么区别?(1分)foo()有控制错误输出30、如何声明一个名为”myclass”的没有方法和属性的类? (1分)class myclass 31、如何实例化一个名为”myclass”的对象?(1分)$newmyclass = new myclass();32、你如何访问和设置一个类的属性? (2分)$newmyclass = new myclass();$temp=$newmyclass-test;$newmyclass-test=a;33、mysql_fetch_row() 和mysql_fetch_array之间有什么区别? (1分)mysql_fetch_row - 从结果集中取得一行作为枚举数组mysql_fetch_array - 从结果集中取得一行作为关联数组,或数字数组,或二者兼有34、GD库是做什么用的? (1分)gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。35、指出一些在PHP输入一段HTML代码的办法。(1分)1. echo ;直接输出2. require include 包含进来一段html代码3. 由XML文件得到36、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分) (a) fget() (b) file_open() (c) fopen() (d) open_file()(c)是正确的37、下面哪个选项没有将 john 添加到users 数组中? (1分) (a) $users = john; (b) array_add($users,john); (c) array_push($users,john); (d) $users |= john;(b) (d) 均是错误的写法38、下面的程序会输入是否?(1分) $num = 10; function multiply() $num = $num * 10; multiply(); echo $num; ?输出 1039、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2分)表名UserName Tel Content Date张三大专毕业 2006-10-11张三本科毕业 2006-10-15张四中专毕业 2006-10-15请根据上面的题目完成代码:$mysql_db=mysql_connect(local,root,pass);mysql_select_db(DB,$mysql_db);$result=mysql_query(select * from User where Name=张三);while($row=mysql_fetch_array($result) echo $rowName.$rowTel.$rowContent.$rowDate; echo ;40、如何使用下面的类,并解释下面什么意思?(3)class testfunction Get_test($num) $num=md5(md5($num).En); return $num;双重md5加密$testObject = new test();$encryption = $testObject-Get_test(xiaotian_ls);41、写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)表名UserName Tel Content Date张三大专毕业 2006-10-11张三本科毕业 2006-10-15张四中专毕业 2006-10-15(a) 有一新记录(小王高中毕业 2007-05-06)请用SQL语句新增至表中Insert INTO User(Name,Tel,Content,Date) VALUES(小王高中毕业,2007-05-06)(b) 请用sql语句把张三的时间更新成为当前系统时间Update User SET Date=DATE_FORMAT(NOW(),%Y-%m-%d) Where Name=张三(c) 请写出删除名为张四的全部记录Delete FROM User Where Name=张四42、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分)int 数值类型 char 固定长度字符串 varchar 可变长字符串 datetime 日期时间型 text 字符字符串char列的长度固定为创建表时声明的长度.varchar列中的值为可变长字符串.43、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)AUTO_INCREMENT44、写出以下程序的输出结果 (1分) $b=201; $c=40; $a=$b$c?4:5; echo $a;?445、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)isset($a) empty($a)46、取得查询结果集总数的函数是?(1分)mysql_num_rows($res);47、$arr = array(james, tom, symfony); 请打印出第一个元素的值 (1分)echo $arr0;48、请将47题的数组的值用,号分隔并合并成字串输出(1分)echo $arr0.$arr1.$arr2;49、$a = abcdef; 请取出$a的值并打印出第一个字母(1分)echo $a0;50、PHP可以和sql server/oracle等数据库连接吗?(1分)可以51、请写出PHP5权限控制修饰符(3分)private protected public52、请写出php5的构造函数和析构函数(2分)_construct _destruct53、以下请用PHPMYADMIN完成(一)创建新闻发布系统,表名为message有如下字段 (3分)id 文章idtitle 文章标题content 文章内容category_id 文章分类idhits
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025官方版短期贷款外汇借款合同范本
- 2025份个人赠与合同书样本
- 期末教学设计-2025-2026学年中职基础课-基础模块 下册-人教版(2021)-(数学)-51
- 品牌特许经营合同样本
- 专家职称面试题库及答案
- 2025企业用车、出租车租赁合同
- 企业职工劳动合同书
- 2025上海市特价房购买合同
- 中医选岗面试题库及答案
- DB65T 3764-2015 有机产品 日光温室豇豆生产技术规程
- 幼儿园获奖公开课:中班语言活动《哈哈镜》课件
- 2025年中外合资企业合作框架协议模板
- 《餐饮点菜》课件
- 公司财务知到智慧树章节测试课后答案2024年秋北京第二外国语学院
- 2025年天马微电子股份有限公司招聘笔试参考题库含答案解析
- 2025年浙江事业单位联考真题解析历年高频重点提升(共500题)附带答案详解
- 防止人身伤亡事故培训课件(共139张)
- 宣传物料技术服务方案设计
- 检验科质量管理手册
- 幼儿园讲解海军知识
- 《中国货币发展史》课件
评论
0/150
提交评论