PHP程序设计
1.请写出HTML标记meta的完整英文单词:metadata
2.相当于http文件头作用(向浏览器传回正确和精确地显示网页内容的消息)的meta标记的属性是http-equiv
3.PHP的全称是:PHP:Hypertext Preprocessor
4.PHP的两种运行方式是 CGI 和 mod_php
5.以 mod_php模式运行PHP,为什么每次修改php.ini的配置信息都需要重启apache,配置才生效?
以 mod_php模式运行php,意味着php作为apache的一个模块来启动的。因此只有在apache启动的时候会读取php.ini配置文件并加载扩展模块,在apache运行期间是不会再去读取和加载扩展模块的。
6. PHP中echo功能是 什么?
将PHP后台运行得到饿数据输出到浏览器页面中
7.输出的不同
$"加油";则(1)echo '中国$str!'; 输出中国$str!
(2)echo "中国$str!" ;输出 中国加油!
8.其他类型的变量转化为布尔类型时,哪些值被认为是false?
布尔值false,整形值0,浮点值0.0,空白字符串,字符串'0',空数组,特殊数据类型NULL,没有设定的变量。
9.在浏览器中运行以下PHP代码,在三个文本框中依次分别输入1、2、3,则浏览器页面输出 sparkqty321
10.和C不同,PHP函数内访问函数外申明的全局变量,必须在函数开始处用 golbal 申明
11.PHP中常用的几个预定变量(魔术变量)是那些?
$_post $_get $_request $_session $_cookie $_files $_SERVER $GLOBALS
12. PHP中常用的几个预定义常量(魔术变量)是那些?
_line_ _file_ _dir_ _function_ _class_ _traint_ _method_ _namespace_
13.数组的概念是什么?数据根据索引分为那两种,如何区分?数组的声明方式主要有那两种?
数组是一个可以存储一组或一系列数值的变量(复合型变量);索引数组(索引值为数字,以0开始)和关联数组(以字符串作为索引值);(3)数组的声明方式主要用两种:A 通过array() 函数声明数组,可以通过key=>value 的方式分别定义索引和值,也可以不定义数组的索引下标,只给出数组的元素值。B直接为元素赋值,不需要调用array() 函数。例如:$arr[0]=1,$arr[1]=2;
14.数组合并函数array_merge() 和数组加法运算$arr1+$arr2 的区别是什么
数组合并函数array_merge( )和数组加法运算$arr1 + $arr2 的区别是什么?
使用array_merge( ),如果是关联数组合并,如果数组的键名相同,那么后面的值将覆盖前者;如果是数字索引数组合并,则不覆盖,而是后者附加到前者后面。使用数组加法运算,与 array_merge( )不同,加法运算不管是关联数组还是数字索引数组,都是将相同键名的值舍弃,也就是只保留首次出现该键名的元素,后来的具有相同键名的元素都不会被加进来。简述array compact(mixed $varname [, mixed ...])函数的功能。
把一个或多个变量,建立成数组元素,这些数组元素的键名就是变量的变量名,值是变量的值。简述PHP数组转换为字符串、字符串转换为数组的方法。
explode ( string $separator , string $string [, int $limit ] ) 使用一个分隔字符来分隔一个字符串。
implode ( string $glue , array $arr ) 使用一个连接符将数组中的每个单元连接为一个字符串。以下留言功能的代码存在页面被篡改(XSS攻击)的漏洞,请用简单过滤的方法写出防止页面被篡改的完整代码。
您的Email地址:
您的留言:
您的留言是:
".$note."
";
?>
18. 验证身份证号码规则的正则表达式是: #^[0-9]{17}([0-9]|X|Y)$# 。
19. 简述PHP函数file_get_contents( )的功能。
与依次调用fopen( )、fwrite( )及fclose( )函数的功能一样,默认是直接覆盖原有文件的内容。
20. 要使HTML表单生成文件上传变量必须满足哪3个条件?
(1) 必须使用POST方式提交(设置表单 method="post" );(2) 必须设置表单enctype属性为 enctype="multipart/form-data" ;(3) 表单中要有一个文本域控件。
21. 由HTML表单生成文件上传变量,PHP以数组的形式记录了上传文件的详细信息,这个预定义变量(全局数组)是___$_FILES['上传控件的name'][ 'name'|'type'|'tmp_name'|'size'|'error'] 。
22. Cookie运行在客户端,Session运行在服务器端,对吗?
不完全正确。Cookie是运行在客户端,由客户端进行管理;Session虽然是运行在服务器端,但是sessionID作为一个Cookie是存储在客户端的。
23. Session 比Cookie更安全吗?不应该大量使用Cookie吗?
错误。Cookie确实可能存在一些不安全的因素,但和JavaScript一样,即使突破前端验证,还有后端保证安全。所以,一切都要看设计。如果说不安全,也是由于代码不安全,错误地把身份验证的Cookie作为权限验证来使用。
24. 如果把别人的机器上的Cookie复制到我的电脑上(假设使用相同的浏览器),是不是能够登录别人的账号?
是的。这属于Cookie劫持的一种做法。
25. 在URL中用get传值的时候,若中文出现乱码,应该用哪个函数对中文进行编码?
使用urlencode()对中文进行编码,使用urldecode()来解码。
26. PHP中访问类中静态成员或函数应通过 类名:: 或self::进行访问。
27. 继承是代码复用的一种重要机制,但继承破坏了封装性,不恰当的继承还可能违反现实世界的逻辑。PHP采用了一种更新进的代码复用机制,它用一致的方式来组合对象,增加了水平特性,这种机制就是PHP的 Traits机制 。
28. PHP目前不支持方法重载,但可以用魔术方法 __ _call 来实现类似于方法重载的功能。
29. 有关系模式:cjb(学号, 课程号, 成绩),把SQL语言:select * from cjb a where 成绩