【php精品源码栏目提醒】:网学会员--在 php精品源码编辑为广大网友搜集整理了:【精品】PHP笔试+面试题 - 大学课件绩等信息,祝愿广大网友取得需要的信息,参考学习。
1.如何访问会话变量(session)?A.通过_GET B.通过_POST C.通过_REQUEST D.通过全局变量 E.以上都不对2.哪个函数能让服务器输出如下 header? set-Cookie: foobar 答案:______________3.在忽略浏览器 bug 的正常情况下,如何用一个与先前设置的域名(domain)不同的新域名来访问某个cookie?A.通过 HTTP_REMOTE_COOKIE 访问 B.不可能 C.在调用 setcookie时设置一个不同的域名D.向浏览器发送额外的请求 E.使用 Javascript,把 cookie 包含在 URL 中发送4.index.
php 脚本如何访问表单元素 email 的值?(双选)ltform actionquotindex.phpquot methodquotpostquotgtltinput typequottextquot namequotemailquot/gtlt/formgtA . _GET‘email’ B . _POST‘email’ C . _SESSION‘text’ D . _REQUEST‘email’ E ._POST‘text’5.以下脚本将如何影响s 字符串?(双选)ltphps ltpgtHellolt/pgtss htmlentities secho sgtA.尖括号ltgt会被转换成 HTML 标记,因此字符串将变B.没有变 C.在浏览器上打印该字符串时,尖括号是可见的D.在浏览器上打印该字符串时,尖括号及其内容将被识别为 HTML 标签,因此不可见E.由于调用了 htmlentities,字符串会被销毁6.如果不给 cookie 设置过期时间会怎么样?dA.立刻过期 B.永不过期 C.cookie 无法设置 D.在浏览器会话结束时过期E.只在脚本没有产生服务器端 session 的情况下过期7.思考如下代码:如果用户在两个文本域中分别输入“
php”和“great”,脚本输出什么?ltform actionquotindex.phpquot methodquotpostquotgtltinput typequottextquot namequotelementquotgtltinput typequottextquot namequotelementquotgtlt/formgtltphpecho _GETelementgtA.什么都没有 B.Array C.一个提示 D.phpgreat E.greatphp8.在 HTTPS 下,URL 和查询字串(query string)是如何从浏览器传到 Web 服务器上的?A.这两个是明文传输,之后的信息加密传输 B.加密传输C.URL 明文传输,查询字串加密传输 D.URL 加密传输,查询字串明文传输E.为确保加密,查询字串将转换为 header,夹在 POST 信息中传输9.当把一个有两个同名元素的表单提交给
PHP 脚本时会发生什么?A.它们组成一个数组,存储在超级全局变量数组中B.第二个元素的值加上第一个元素的值后,存储在超级全局变量数组中C.第二个元素将覆盖第一个元素 D.第二个元素将自动被重命名 E.
PHP 输出一个警告10.如何把数组存储在 cookie 里?A.给 cookie 名添加一对方括号 B.使用 implode 函数 C.不可能,因为有容量限制D.使用 serialize 函数 E.给 cookie 名添加 ARRAY 关键词11.以下脚本输出什么?Eltphpob_startfor i 0 i lt 10 i echo i output ob_get_contentsob_end_cleanecho ouputgtA.12345678910 B.1234567890 C.0123456789 D.什么都没有 E.一个提示12.默认情况下,
PHP 把会话(session)数据存储在______里。
A.文件系统 B.数据库 C.虚拟内容 D.共享内存 E.以上都不是13.你在向某台特定的电脑中写入带有效期的 cookie 时总是会失败,而这在其他电脑上都正常。
在检查了客户端操作系统传回的时间后,你发现这台电脑上的时间和 web 服务器上的时间基本相同。
而且这台电脑在访问大部分其他网站时都没有问题。
请问这会是什么原因导致的?(双选) .A 浏览器的程序出问题了 . . B 客户端的时区设置不正确 C 用户的杀毒软件阻止了所有安全的 cookieD.浏览器被设置为阻止任何 cookie E.cookie 里使用了非法的字符14.假设浏览器没有重启,那么在最后一次访问后的多久,会话(session)才会过期并被回收?A.1440 秒后 B.在 session.gc_maxlifetime 设置的时间过了后C.除非手动删除,否则永不过期 D.除非浏览器重启,否则永不过期 E.以上都不对15.哪个函数能把换行转换成 HTML 标签ltbr /gt?答案:____________答案速查1:E 2:setcookie/setrawcookie 3:B 4:BD 5:BD 6:D 7:A 8:B 9:C 10:B11:E 12:A 13:BD 14:B 15:nl2br答案详解1.尽管在 register_globals 被设置为 on 时,可以通过全局变量来访问 session,但在较新版本的
PHP 中,为了避免造成安全隐患,
php.ini 文件已经把 register_globals 设置为 off 了。
因此答案是 E。
2.虽然 header 函数在这里也能用,但这题显然是在说 setcookie 或 setrawcookie 函数。
3.答案是 B。
浏览器不允许来自某个域名的 HTTP 事务更改另一个域名下的 cookie,否则这将造成严重的的安全问题。
4.既然表单采用 post 方式传输,那么脚本将只可能从_POST 和_REQUEST 两个超级全局变量数组中取到值。
元素名称(email)是键名,因此答案是 B 和 D。
注意,由于可能导致潜在的安全问题,这里不鼓励使用_REQUEST。
5.本题考验你对 HTML 编码的认识以及代码查错能力。
变量s 在被函数 htmlentities处理过后,结果返回给了变量ss,而s 自己并没有被改变。
因此答案是 B 和 D。
你可能觉得自己被戏弄了,但是记住,发现这样的小错误是捉虫能力中很重要的一部分。
6.如果没有设置过期时间,cookie 将在用户会话结束时自动过期。
cookie 不需要服务器端会话的支持,因此答案是 D。
7.表单使用 post 方式传输,所以无论在文本框中输入什么,其值都会传给_POST 超级全局变量,这里的_GET 数组没有值。
答案是 A。
8.HTTPS 传输发生时,浏览器与服务端立刻完成加密机制的握手,之后的数据都是加密传输而不是明文传输——包括 URL,查询字串。
而在 HTTP 传输中,它们都是明文传输的,因此答案是 B。
9.对于收到的查询字串和 POST 信息,
PHP 只是简单的把元素添加进对应的超级变量数组中。
结果就是如果有两个元素同名,前一个会被后一个覆盖。
答案是 C。
10.只有 B 永远正确。
虽然你可以用 implode 函数把数组转化成字符串,然后存在数组里,但却无法保证日后一定能用 serialize把这个字符串还原成数组。
浏览器对单个 cookie 有容量限制,因此在 cookie 里存储数组不是个好主意。
但事情也并非永远是这样,你仍然可以存储一些比较小的数组。
11.这又是一个考验 debug 能力的题。
注意到了吗,在脚本的末尾,echo 语句中的output 变量拼错了!脚本不会输出任何东西,答案是 D。
12.答案是文件系统(A) 。
默认情况下,
PHP 把所有会话信息存储在/tmp 文件夹中;在没有这个文件夹的操作系统中 , (比如 Windows)必须在
php.ini 中给 session.save_path 设置一个合适的位置 。
(如 c:Temp)13.B 和 D 是最有可能出问题并应该深入调查的地方。
由于浏览器访问其他网站都正常,所以不可能是浏览器程序出了问题。
杀毒软件通常不会选择性的只阻止安全的 cookie(不过有可能会阻止所有的cookie)。
你首先应当检查浏览器是否被设置为阻止所有 cookie,这是最有可能导致该问题的原因。
同时,错误的时区设置也可能是根源——给 cookie 设置有效期时用得是 GMT 时间。
可能会出现 cookie 在写入时就立刻过期,从而无法被脚本接收的情况。
14.session.gc_maxlifetime 设置的是用户最后一次请求到 session 被回收之间的时间间隔。
尽管数据文件并没有被真正删除,不过一旦 session 被回收,你将无法对此 session 进行访问。
巧合的是,session.gc_maxlifetime 的默认设置正好是 1440 秒,但这个数字是可以被系统管理员调整的。
所以答案应该是 B。
15.函数 nl2br 能实现这个功能。
1、用
PHP 打印出前一天的时间,格式是 2006-5-10 22:21:212 分echo date‘Y-m-d H:i:s’date‘U’-86400或者 echo dateY-m-d H:i:s strtotime-1 day2、echoprintprint_r的区别3 分echo 是
PHP 语句,语句是没有返回值的,而 print 和 print_r 是函数,函数可以有返回值。
print 只能打印出简单类型变量的值如 intstringprint_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-Queries3.使用联合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 GBsubstrstring start length ifstrlenstringgtlength strnull lenstartlength foristartiltleni ifordsubstrstringi1gt0xa0 str.substrstringi2 i else str.substrstringi1 return str....else return string 10、您是否用过版本控制软件 如果有您用的版本控制软件的名字是1 分 CVS subversion11、您是否用过模板引擎 如果有您用的模板引擎的名字是1 分Smarty Discuz12、请简单阐述您最得意的开发之作4 分13、对于大流量的网站您采用什么样的方法来解决访问量问题4 分 首先,确认服务器硬件是否足够支持当前的流量 其次,优化数据库访问。
第三,禁止外部的盗链。
第四,控制大文件的下载。
第五,使用不同主机分流主要流量 第六,使用流量分析统计软件。
14、用
PHP 写出显示客户端 IP 与服务器 IP 的代码1 分 服务器:_SERVERSERVER_ADDR 客户端:_SERVERREMOTE_ADDR15、语句 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 quot./session_save_dir/quot lifeTime 24 3600 session_save_pathsavePath session_set_cookie_paramslifeTime session_start 3. setcookie 或 session_set_cookie_paramslifeTime17、有一个网页地址 比如
PHP 开发资源网主页: http://www.baidu.com/index.html如何得到它的内容1 分//需要读取的 page 地址http_page_urlquothttp://www.baidu.com/index.htmlquot//打开远程文件read_filefopenhttp_page_urlquotrbquotif feofread_file//读取远程文件file_stream quotquotdo data freadread_file 8192 if strlendata 0 break file_stream. data whiletrueecho file_stream //输出内容对
PHP 5 及更高版本可以:ltphphandle fopenquothttp://www.baidu.com/index.htmlquot quotrbquotcontents stream_get_contentshandlefclosehandleecho contentsgt最简单的方法是调用函数:ltphpprint file_get_contentshttp://www.baidu.com/index.htmlgt18、在 HTTP 1.0 中,状态码 401 的含义是;如果返回“找不到文件”的提示,则可用 header 函数,其语句为2 分 状态值为 401代表未被授权 headerquotLocation: http://www.
php.netquot19、在
PHP 中,heredoc 是一种特殊的字符串,它的结束标志必须1 分heredoc 的语法是用quotltltltquot加上自己定义成对的标签,在标签范围内的文字视为一个字符串 ltphp str ltltltEOD I saw a dog yesterday. EOD gt需要注意的是: 1、quotltltltquot后面的 EOD 是自己定义的标签名称,必须要成对,而且后面要加上分号表示结束。
2、结束的标签前面最好不要有空格,以免发生错误!20、谈谈 aspphpjsp 的优缺点1 分(1)ASP 全名 Active Server Pages,是一个 WEB 服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的 WEB 服务应用程序。
ASP 采用脚本语言 VB Script(Java script)作为自己的开发语言。
PHP(2) 是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用 CJava 和 Perl 语言的语法 并耦合
PHP 自己的特性使 WEB 开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。
还有一点,
PHP是完全免费的,不用花钱,你可以从
PHP 官方站点http://www.
php.net自由下载。
而且你可以不受限制地获得
源码,甚至可以从中加进你自己需要的特色。
(3)JSP 是 Sun 公司推出的新一代站点开发语言,他完全解决了目前 ASPPHP 的一个通病--脚本级执行(据说
PHP4 也已经在 Zend 的支持下,实现编译运行).Sun 公司借助自己在 Java 上的不凡造诣,将Java 从 Java 应用程序 和 Java Applet 之外,又有新的硕果,就是 Jsp--Java Server Page。
Jsp 可以在 Serverlet 和 JavaBean 的支持下,完成功能强大的站点程序。
三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但 JSP 代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。
在 ASP 、
PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、
PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。
程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。
ASP 、
PHP、JSP 三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
21、谈谈对 mvc 的认识1 分22 写出发贴数最多的十个人名字的 SQL,利用下表:membersidusernamepostspassemail2 分 SELECT username FROM members ORDER BY posts DESC LIMIT 01023. 请说明
php 中传值与传引用的区别。
什么时候传值什么时候传引用?2 分(1)Call by value 传值:指从主程序将变量内容传递给函数的参数,无论在函数内如何修改、变化该参数值,都不影响主程序原本变量的内容,即使变量名称相同。
调用方式:函数名(参数 1,参数 2);(2)Call by address 传引用:指从主程序将变量地址传递给函数的参数,在函数内若修改、变化该参数值,会修改主程序原本变量的内容,即主程序与函数存取的是同一变量。
调用方式:函数名(amp参数 1,amp参数 2);按值传递:函数范围内对值的任何改变在函数外部都会被忽略按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改优缺点:按值传递时,
php 必须复制值。
特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
按引用传递则不需要复制值,对于性能提高很有好处。
24. 在
PHP 中 error_reporting 这个函数有什么作用? 1 分error_reporting 用于设置
php 的侦听错误的级别.用来配置错误信息回报的等级.ltphp// Turn off all error reportingerror_reporting0// Report simple running errorserror_reportingE_ERROR E_WARNING E_PARSE// Reporting E_NOTICE can be good too to report uninitialized// variables or catch variable name misspellings ...error_reportingE_ERROR E_WARNING E_PARSE E_NOTICE// Report all errors except E_NOTICE// This is the default value set in
php.inierror_reportingE_ALL E_NOTICE// Report all
PHP errorserror_reportingE_ALL// Same as error_reportingE_ALLini_seterror_reporting E_ALLgt25. 请写一个函数验证电子邮件的格式是否正确 2 分(1)Javascript 实现:function checkEmailform re/_.0-9a-z-0-9a-z0-9a-z-.a-z23/i ifre.testform.valuealert‘符合验证’else alert‘验证失败’(2)
php 实现function CheckMailAdrstrreturneregi“_.0-9a-z-0-9a-z0-9a-z-.a-z23“str26. 简述如何得到当前执行脚本路径,包括所得到参数。
2 分说明:例如有一个脚本 www.domain.com传给他的参数有参数 1,参数 2,参数 3…。
传递参数的方法有可能是 GET 有可能是 POST那么现在请写出类似:http://www.domain.com/script.
php参数 1值 1amp参数 2值 2….. 的结果。
(1)获取所有参数:可以用以下方法: //获取 post 的数据 while listvar value eachHTTP_POST_VARS echo “var value n“ //获取 get 方式的数据 while listvar value eachHTTP_GET_VARS echo “var value n“(2) echo _SERVERscrīpt_FILENAME.quotquot._SERVERQUERY_STRING27、JS 表单弹出对话框函数是获得输入焦点函数是 2 分 弹出对话框: alertpromptconfirm 获得输入焦点 focus28、JS 的转向函数是怎么引入一个外部 JS 文件2 分 转向函数 window.location.href引入外部 JS 文件:ltscript typequottext/javascriptquot srcquotjs/js_function.jsquotgtlt/scriptgt29、foo和foo之间有什么区别?1 分 foo有控制错误输出30、如何声明一个名为”myclass”的没有方法和属性的类? 1 分 class myclass 31、如何实例化一个名为”myclass”的对象?1 分 newmyclass new myclass32、你如何访问和设置一个类的属性? 2 分 newmyclass new myclass tempnewmyclass-gttest newmyclass-gttestquotaquot33、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 ‘lthtmlgtlt/htmlgt’直接输出 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_addusers’john’ c array_pushusers‘john’ d users ‘john’ b d 均是错误的写法38、下面的程序会输入是否1 分 ltphp num 10 function multiply num num 10 multiply echo num gt输出 1039、使用
php 写一段简单查询,查出所有姓名为“张三”的内容并打印出来 2 分 表名 User: Name Tel Content Date 张三 大专毕业 2006-10-11 张三 13.