PHP面试题
PHP面试题
PHP核心课程测试题一.单选题( 1’ x 50 = 50’ )1. PHP是哪一种类型的语言( )A.编译型B.解释性C.两者都是D.两者都不是2. 在用浏览器查看网页时出现404错误可能的原因是( )A.页面源代码错误B.文件不存在C.与数据库连接错误D.权限不足3. 若x,y为int类型变量,则执行以下语句后,y的值为( )A.1B.2C.3D.04.下列代码执行后,输出结果正确的是( )A.1B.2C.运行错误D.都不对5. 执行完以下代码后,变量$num的值为( )A.10B.20C.30D.显示错误6. 以下程序运行结果为( )A.5 + 3 + 1 = 9B.1 + 5 + 3 =9C.提示错误,并有显示:+ 3 + 1 = 4D.97. 下面的脚步运行以后,$array数组所包含的值是( )A.arra y (‘2’, ’2’)B.array (1, 1)C.array (2, 2)D.array (null,null)8. 查询名字中第2个字为“阳”的学生的姓名和学号,正确的是( )A.Select Sname,Sno from student where Sname like ‘_阳%’;B.Select Sname,Sno from student where Sname like ‘阳%’;C.Select Sname,Sno from student where Sname like ‘_阳’;D.Select Sname,Sno from student where Sname like ‘阳_%’;9. 下面哪个函数可以打开一个文件,以对文件进行读和写操作?( )A.fget()B.file_open()C.fopen()D.open_file()10.PHP是一种______脚本语言,基于______引擎。
PHP常被用来开发动态的______内容,此为,它同样还可以被用来生成______(以及其它)文档。
PHP精典面试题(附答案)
PHP精典⾯试题(附答案)1.输出Mozilla/4.0(compatible;MISIE5.01;Window NT 5.0)是,可能输出的语句是? A:$_SERVER['HTTP_USER_AGENT_TYPE']; B: $_SERVER['HTTP_USER_AGENT']; C: $_SERVER['USER_ACENT']; D: $_SERVER['AGENT'];2.下⾯功能php⽆法实现的是? A: 服务端脚本运⾏; B: 命令⾏脚本运⾏; C: 客户端图形界⾯(GUI)程序; D: 浏览器执⾏DOM操作3.下⾯说法不正确的是? A: PHP有四种标量类型:布尔型,整型,浮点型,字符串; B: 浮点型与双精度是同⼀种类型 C: 复合类型包括:数组,对象,资源; D: 伪类型:混合型,数字型,回调;4.执⾏代码后<?phpecho function_exists('print');>输出的结果是? A: 空 B: true C: false D: FALSE5.下⾯不是PHP语法的组成部分的函数是? A: array B: eval C: each D: list6.执⾏下⾯代码的结果是什么?<?php$bool = true;echo gettype($bool);echo is_string($bool);> A: boolean B: boolean0 C: booleanFalse D: booleanfalse7.写出下⾯程序代码执⾏结果$a = 12;$b = 012;$c = 0x12;echo$a,"\n",$b,"\n",$c;> A: 22 B: 10 C: 6 D: 128下⾯代码的执⾏结果是?<?phpecho 1+2+"3+5+6";> A: 0 B: 3 C: 6 D: "33+4+5"9.下⾯代码加⼊下⾯那个函数后返回true? return ? == 'A'; A: ord(65) B: chr(65) C: 65+" D: "65+10.下⾯代码输出正确的是?<?php$a = array(1=>5,5=>8,22,2=>'8',81);echo$a[7];echo$a[6];echo$a[3];> A: 空 22 81 B: 空 81 22 C: 81 22 空 D: 空空空11.下⾯代码的输出结果是?<?php$a[bar] = 'hello';echo$a[bar];echo$a['bar'];> A: hello B: 空空 C: 报错 D: hello hello12.写出下⾯代码的结果:<?phpecho 1>>0;echo 2>>1;echo 3<<2;> A: 012 B: 106 C: 1112 D: 12313.下⾯代码执⾏结果?<?phpfor($i=1;$i<10;$i++){print$i;}> A: 0123456789 B: 01234567890 C: ⽆输出 D: 死循环14.下⾯对于echo,print 的描述正确的是? A: echo,print都可以打印多个参数 B: print 可以打印多个参数,echo不可以 C: echo可以打印多个参数,print不可以 D: echo,print 都不可以打印多个参数15.对于以下的代码<?php$fruits = array('strawberry'=>'red','banana'=>'yellow'); > 能够正确得到结果'yellow' 的代码是? A: echo "A banana is {$fruits['banana']}"; B: echo "A banana is $fruits['banana']"; C: echo "A banana is {$fruits[banana]}"; D: echo "A banana is $fruits[banana]"; 16.下⾯代码执⾏结果是?<?phpfunction change(){static$i = 0;$i++;return$i;}print change();print change();>正确答案:1,217.$foo = 'test';$bar = <<<EOT$foo barEOT;echo$bar;>上⾯语句输出的结果是? A: $foo bar; B: 'EOT' $foo bar EOT C: test bar D: 'EOT' test bar EOT18.$a = 3;$b = 4;if($a || $b = 5){echo 'tudou';} $b的值是? A: 4; B: 5 C: 3; D: false;19.下⾯那个表达式不能将两个字符串$s1和$s2串联成⼀个单独的字符串? A: $s1+$s2 B: "{$s1}{$s2}" C: $s1.$s2 D: implode(",array($s1,$s2)) E: 以上⽅法都能实现20.下⾯的脚本运⾏以后,$array数组所包含的值是什么?<?php$array = array('1','1');foreach($array as$k => $v){$v = 2;}> A: array('2','2') B: array('1','1') C: array(2,2) D: array(Null,Null)21.cron后台常驻程序(daemon)⽤于? A: 负责⽂件在⽹络中共享 B: 管理打印⼦系统Manages theprinting subsystem C: 跟踪管理系统信息和错误 D: 管理系统⽇常任务的调度(scheduing)22.怎么了解您在当前的⽬录下还有多⼤空间? A: Use df23.有⼀个备份程序mybackup,需要在周⼀⾄周五下午⼀点和晚上⼋点各运⾏次,下⾯那⼀条crontab的项可以完成⼯作? A: 0 13,20 * * 1,5 mybackup B: 0 13,20 * * 1,2,3,4,5 mybackup C: *13,20 * * 1,2,3,4,5, mybackup D: 0 13,20 1,5 * * mybackup24.下⾯那条命令可以吧f1.txt复制为f2.txt ? A: cp f1.txt f2.txt B: cat f1.txt|f2.txt C: cat f1.txt||f2.txt D: copy f1.txt|f2.txt25.使⽤命令可以查看linux的启动信息? A: mesg -d B: dmesg C: cat /etc/mesg D: cat /var/mesg26.在vi 中退出不保存的命令是? A: :qt B: :r C: :wq D: :q!27.下⾯那个选项没有将john添加到users数组中? A: $users[] = 'john'; B: array_add($users,'john'); C: array_push($users,'john'); D: $users ||= 'john';[a,c]28.下列不属于Javascript语法关键字/保留字的是? A: var B: $ C: functiom D: while29.下列不属于JavaScript DOM事件的是? A: onclick B: onkeydown C: onbodyload D: onmouseover30.下列PHP函数中不能直接在页⾯上输出字符串的函数是?31.在PHP中,'+'操作符的功能不包括 A: 字符串连接 B: 数组数据合并 C: 变量数据相加32.⽤php获取当前时间并打印,打印格式为2006-5-10 22:21:21echo date('Y-n-m H:i:s');33,字符串转数组,数组转字符串,字符串截取,字符串替换,字符串查找的函数分别是什么? 字符串转数组函数: str_split() explode() 数组转字符串 join() implode() 字符串截取 substr() mb_substr() 字符串替换 str_replace() preg_replace() 字符串查找 preg_match() preg_match_all() strops() strrops()34.解释⼀下php类中pretect,public,private,interface,abstract,final,static的含义 pretect:受保护的 public:公有的 private:私有的 interface:接⼝ abstract:抽象类或者抽象⽅法 final:最终版本的类或者⽅法 static:静态属性或者⽅法35.如何把字符串'08/26/2004'替换成'2004-08-26'?$date = '08/26/2004';echo preg_replace('/(\d+)\/(\d+)\/(\d+)/',$3-$1-$2,$date);36.从表login中选出name字段包含admin的前10条结果所有信息的sql语句select * from login where name '%admin%' limit 10;37.解释左连接,右连接,内连接,索引: 左连接: left join on 左连接是以左边的表为主表,先输出左边表的所有数据,右边匹配输出,不匹配的为null 右连接:right join on 右连接是以右边的表为主表,先输出右边表的所有数据,左边匹配输出,不匹配的为null 内连接:inner join on 内连接必须同时符合条件的内容才会输出,相等于普通的多表查询38.写⼀个函数。
php 面试题 选择题
php 面试题选择题PHP面试题选择题1. PHP是一种什么类型的编程语言?A) 面向对象编程语言B) 函数式编程语言C) 脚本语言D) 编译型语言2. PHP可以在以下哪个操作系统上运行?A) WindowsB) LinuxC) macOSD) 所有上述操作系统3. 下面哪个不是PHP的特点?A) 开源B) 跨平台C) 强大的数据库支持D) 编译型语言4. 在PHP中,以下哪一种是用来注释单行代码的方法?A) //B) #C) /*D) <!-- -->5. 在PHP中,以下哪个函数可以用来连接数据库?A) connect()B) open()C) include()D) mysqli_connect()6. 下面哪个函数可以用来输出文本内容到浏览器?A) echo()B) print()C) printf()D) display()7. PHP中的$_GET变量用于什么目的?A) 将表单数据发送到服务器B) 接收通过URL传递的参数C) 获取数据库查询的结果D) 创建全局变量8. 在PHP中,以下哪个条件语句用于执行一段代码块多次,直到指定条件为假?A) if-else语句B) for循环C) switch语句D) while循环9. 下面哪个函数用于指定在何处保存文件上传后的临时副本?A) move_uploaded_file()B) copy()C) rename()D) save_file()10. PHP中的PDO是什么的缩写?A) PHP Data ObjectB) PHP Database ObjectC) PHP Document ObjectD) PHP Design Object11. 在PHP中,以下哪个超级全局变量用于获取通过POST方法提交的表单数据?A) $_GETB) $_POSTC) $_REQUESTD) $_SERVER12. 下面哪个函数可以用来检测指定文件是否存在?A) is_file()B) file_exists()C) file_size()D) is_exists()13. PHP中的命名空间(namespace)的作用是什么?A) 区分和组织不同的函数和变量B) 限制代码的访问权限C) 创建代码的备份D) 管理数据库连接14. PHP中的魔术方法是什么?A) 隐藏的代码B) 特殊的函数,以两个下划线__开头和结尾C) 专门用于处理异常的方法D) 用于加密和解密数据的方法15. PHP中的session是用来做什么的?A) 储存用户登录信息B) 进行加密和解密操作C) 控制文件和目录的访问权限D) 执行并行的代码块这些选择题旨在考察对PHP语言的基本概念和常见功能的理解。
PHP面试题大全(值得收藏)
PHP⾯试题⼤全(值得收藏)⼀、PHP基础部分1、PHP语⾔的⼀⼤优势是跨平台,什么是跨平台?PHP的运⾏环境最优搭配为Apache+MySQL+PHP,此运⾏环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台2、WEB开发中数据提交⽅式有⼏种?有什么区别?百度使⽤哪种⽅式?Get与post两种⽅式区别:(1)url可见性:get ⽅式url参数可见,post 不可见(2)可缓存性:get ⽅式是可以缓存的,post ⽅式不可以缓存。
(3)传输数据⼤⼩:get⼀般传输数据⼤⼩不超过2k-4k(根据浏览器不同,限制不⼀样,但相差不⼤);post 请求传输数据的⼤⼩根据php.ini 配置⽂件设定,也可以⽆限⼤。
(4)数据传输上:get ⽅式通过url地址栏拼接参数进⾏传输,post ⽅式通过body体进⾏传输。
建议:1、get式安全性较Post式要差些包含机密信息建议⽤Post数据提交式;2、做数据查询建议⽤Get式;做数据添加、修改或删除建议⽤Post⽅式;百度使⽤的get⽅式,因为可以从它的URL中看出3、掌握PHP的哪些框架、模板引擎、系统等框架:框架有很多,例如CI、Yii、Laravel等等,咱们学过的是thinkphp模板引擎:也有很多,在课本中有,咱们学过的是smarty系统:有很多,例如:康盛的产品(uchome、supesite、discuzX等),帝国系统、DEDE(织梦)、ecshop等,咱们学过的是DEDECMS、Ecshop4、说⼀下你所掌握的⽹页前端技术有哪些?熟练掌握DIV+CSS⽹页布局,JavaScript,jQuery框架、photoshop图⽚处理5、AJAX的优势是什么?ajax是异步传输技术,可以通过javascript实现,也可以通过JQuery框架实现,实现局部刷新,减轻了服务器的压⼒,也提⾼了⽤户体验。
php高级面试题及答案
php高级面试题及答案在进入PHP高级面试时,有些问题和概念是经常被面试官提及的。
在这篇文章中,我将为大家整理一些常见的PHP高级面试题以及它们的答案,希望能对大家的面试准备有所帮助。
一、面向对象编程(OOP)问题1. 什么是面向对象编程?面向对象编程(OOP)是一种编程范式,它将数据和行为封装在对象中,并通过对象之间的交互来实现程序的功能。
2. PHP中的面向对象编程有哪些特性?PHP中的面向对象编程具有以下特性:封装、继承和多态。
3. 请解释封装是什么意思。
封装是将数据和行为(方法)封装在一个类中,通过访问修饰符(public、private、protected)来控制对这些数据和方法的访问权限。
4. 解释继承的概念以及它在PHP中如何实现。
继承是指一个类可以派生出另一个类,派生类可以继承基类的属性和方法。
在PHP中,继承通过使用关键字"extends"来实现。
5. 什么是抽象类和接口?抽象类是不能被实例化的类,其中可以包含抽象方法和普通方法。
接口是一种规范,定义了一个类必须实现的一组方法。
二、设计模式问题1. 解释什么是设计模式?举例说明一个常用的设计模式。
设计模式是在软件设计中反复出现的问题的解决方案。
一个常用的设计模式是单例模式,它确保一个类只有一个实例,并提供一个全局访问点。
2. 请列举一些常见的设计模式。
常见的设计模式有单例模式、工厂模式、观察者模式、策略模式等。
3. 请解释工厂模式的概念和实现方式。
工厂模式是一种创建对象的设计模式,它通过一个工厂类来创建对象,而不是通过直接实例化类来创建对象。
工厂模式可以根据需要创建不同类型的对象。
三、性能优化问题1. 如何对PHP代码进行性能优化?对PHP代码进行性能优化的一些常见方法包括:缓存数据、优化数据库查询、合并和压缩文件等。
2. 请解释什么是数据库查询优化?数据库查询优化是通过使用适当的索引、减少查询重复以及优化查询语句等方式来提高数据库查询执行效率的过程。
php 面试题 高级篇
php 面试题高级篇在PHP 面试中,高级知识是非常重要的。
以下是一些可能的高级面试问题:1. 请解释 PHP 中的垃圾回收机制。
2. 描述一下 PHP 中的魔术方法,并举例说明它们的使用场景。
3. 解释一下 PHP 中的闭包(Closure)是什么,以及它的用途。
4. 如何在 PHP 中实现多线程或协程?5. 请解释一下 PHP 中的异常处理机制。
6. 如何优化 PHP 代码的性能?7. 描述一下 PHP 中的命名空间(Namespace)以及它的用途。
8. 如何使用 PHP 进行数据库操作?请举例说明。
9. 解释一下 PHP 中的类型强制(Type Hinting)是什么,以及它的用途。
10. 如何使用 PHP 中的 SPL(Standard PHP Library)扩展来处理集合和迭代器?11. 请解释一下 PHP 中的自动加载机制。
12. 如何使用 PHP 中的 Composer 进行包管理?13. 描述一下 PHP 中的钩子(Hook)机制,以及它的用途。
14. 请解释一下 PHP 中的安全最佳实践,如何防止常见的安全漏洞?15. 如何使用 PHP 中的 Guzzle 或 curl 扩展进行 HTTP 请求?16. 如何使用 PHP 中的 Redis 或 Memcached 扩展进行缓存操作?17. 请解释一下 PHP 中的依赖注入(Dependency Injection)是什么,以及它的用途。
18. 如何使用 PHP 中的 ORM(Object-Relational Mapping)框架进行数据库操作?19. 描述一下 PHP 中的 MVC(Model-View-Controller)架构,以及它的优点和缺点。
20. 请解释一下 PHP 中的路由(Routing)是什么,以及它的用途。
以上是一些高级的 PHP 面试问题,涵盖了语言特性、性能优化、数据库操作、安全最佳实践等方面。
面试者需要深入理解这些概念,并能够在实际项目中应用它们。
最全最详细的PHP面试题(带有答案)
最全最详细的PHP⾯试题(带有答案)这篇⽂章介绍的内容是关于最全最详细的PHP⾯试题(带有答案),有着⼀定的参考价值,现在分享给⼤家,有需要的朋友可以参考⼀下相关推荐:1、__FILE__表⽰什么意思?(5分)⽂件的完整路径和⽂件名。
如果⽤在包含⽂件中,则返回包含⽂件名。
⾃ PHP 4.0.2 起,__FILE__ 总是包含⼀个绝对路径,⽽在此之前的版本有时会包含⼀个相对路径。
2、如何获取客户端的IP地址?(5分)$_SERVER[‘REMOTE_ADDR’]3、写出使⽤header函数跳转页⾯的语句(5分)Header(‘location:index.php’);4、$str是⼀段html⽂本,使⽤正则表达式去除其中的所有js脚本(5分)$pattern = ‘/<script.*>\.+<\/script>/’;Preg_replace($pattern,’’,$str);5、写出将⼀个数组⾥的空值去掉的语句(5分)$arr = array(‘’,1,2,3,’’,19);第⼀种⽅法:$array1 = array(' ',1,'',2,3);print_r(array_filter($array1, "del"));function del($var){return(trim($var));}第⼆种⽅法:$arr=array("",1,2,3,"");$ptn="/\S+/i";print_r(preg_grep($ptn,$arr));6、写出获取当前时间戳的函数,及打印前⼀天的时间的⽅法(格式:年-⽉-⽇时:分:秒) (5分)Time();Date(“Y-m-d H:i:s”,Strtotime(“-1 day”));7、写出php进⾏编码转换的函数(5分)Iconv(‘utf-8’,’gb2312’,$str);8、$str = “1,3,5,7,9,10,20”,使⽤什么函数可以把字符串str转化为包含各个数字的数组?(5分)$arr = explode(“,”,$str);9、serialize() /unserialize()函数的作⽤(5分)serialize()和unserialize()在php⼿册上的解释是:serialize — 产⽣⼀个可存储的值的表⽰,返回值为字符串,此字符串包含了表⽰ value 的字节流,不丢失其类型和结构,可以存储于任何地⽅。
php面试题目及答案
php面试题目及答案PHP(Hypertext Preprocessor)是一种广泛应用于 Web 开发的脚本语言。
在 PHP 的面试中,通常会涉及到一些基础知识、语法、常见问题等方面的内容。
本文将为您整理一些常见的 PHP 面试题目及答案,帮助您做好准备。
一、PHP 中的变量和数据类型1. PHP 是一种弱类型语言,请解释什么是弱类型语言。
答:弱类型语言指的是在变量声明时不需要显式指定数据类型,而是根据变量赋值时所赋的值自动确定其数据类型。
在 PHP 中,可以使用关键字 var、$、或不写任何关键字来声明变量,例如:$name = "PHP"。
2. PHP 支持哪些基本数据类型?答:PHP 支持以下基本数据类型:- 布尔型(boolean):表示真(true)或假(false)。
- 整型(integer):表示整数,可以使用十进制、八进制或十六进制来表示。
- 浮点型(float):表示带有小数部分的数字,也称为双精度型。
- 字符串型(string):表示字符或字符序列。
- 数组型(array):表示一个有序集合。
- 对象型(object):表示类的实例。
- 资源型(resource):表示外部资源的引用。
- 空值(null):表示变量没有被赋值。
3. 如何检测一个变量的数据类型?答:可以使用 gettype() 函数来检测一个变量的数据类型,例如: ```php$name = "PHP";echo gettype($name); // 输出:string```4. 如何将一个数据类型转换为另一个数据类型?答:可以使用强制类型转换或者类型转换函数来将一个数据类型转换为另一个数据类型。
以下是几个常见的类型转换的示例: - 字符串转整型:```php$number = "123";$integer = (int)$number;echo $integer; // 输出:123```- 整型转字符串:```php$integer = 123;$number = (string)$integer;echo $number; // 输出:123```- 字符串转数组:```php$str = "PHP";$array = str_split($str);print_r($array); // 输出:Array ( [0] => P [1] => H [2] => P ) ```二、PHP 中的常用函数1. 如何获取一个字符串的长度?答:可以使用 strlen() 函数来获取一个字符串的长度,例如:```php$str = "Hello PHP";$length = strlen($str);echo $length; // 输出:10```2. 如何将字符串转换为小写或大写?答:可以使用 strtolower() 函数将字符串转换为小写,或者使用strtoupper() 函数将字符串转换为大写,例如:```php$str = "Hello PHP";$lowercase = strtolower($str);$uppercase = strtoupper($str);echo $lowercase; // 输出:hello phpecho $uppercase; // 输出:HELLO PHP```3. 如何去除字符串两端的空格?答:可以使用 trim() 函数来去除字符串两端的空格,例如:```php$str = " Hello PHP ";$trimmed = trim($str);echo $trimmed; // 输出:Hello PHP4. 如何将字符串中的某个子字符串替换为另一个字符串?答:可以使用 str_replace() 函数来将字符串中的某个子字符串替换为另一个字符串,例如:```php$str = "Hello, World!";$newstr = str_replace("World", "PHP", $str);echo $newstr; // 输出:Hello, PHP!```三、PHP 中的条件语句和循环结构1. PHP 中的 if 语句的语法是怎样的?请举一个例子说明。
php面试题及答案超详细
9、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)
答:now(),date()
10、实现中文字串截取无乱码的方法。(3分)****************
答:function GBsubstr($string, $start, $length
不会有其它的访问来对 inventory 进行插入、更新或者删除的操作
mysql_query("LOCK TABLE customerinfo READ, orderinfo WRITE");
mysql_query("SELECT customerid FROM `customerinfo` where id=".$id);
15、用PHP写出显示客户端IP与服务器IP的代码1分)
答:打印客户端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');
打印服务器IP:echo gethostbyname("")
16、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)
18、有一个网页地址, 比如PHP开发资源网主页: /index.html,如何得到它的内容?($1分)
cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。
两者都可通过时间来设置时间长短
3.数据库中的事务是什么?
答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,
php设计模式面试题
php设计模式面试题设计模式是软件开发中常用的一种解决方案,能够提供可重用的设计思想和模型,帮助开发人员解决常见的设计问题。
在PHP开发中,了解常用的设计模式对于面试来说是非常重要的。
本文将介绍几个常见的PHP设计模式面试题,并提供相应的解答。
一、简单工厂模式简单工厂模式是一种创建型模式,通过一个工厂类根据不同的参数来创建不同类型的对象。
在PHP开发中,经常会遇到需要根据不同条件创建不同对象的情况,简单工厂模式可以提供一个统一的接口来创建对象,减少了对象的直接创建,使得代码更加灵活和易于扩展。
面试题:请简述简单工厂模式的原理,并给出一个实际应用的例子。
解答:简单工厂模式的原理是通过一个工厂类来创建不同类型的对象。
在工厂类中,根据不同的参数判断需要创建的对象类型,并返回相应的对象实例。
工厂类隐藏了具体对象的创建细节,客户端只需要通过工厂类获取对象,不需要知道具体的对象实现。
一个实际应用的例子是创建图形对象。
假设需要创建不同类型的图形对象,如圆形、矩形和三角形。
可以通过一个图形工厂类来创建这些对象。
客户端只需要传递不同的参数给图形工厂类,即可获取相应的图形对象,无需关心具体的创建过程。
二、观察者模式观察者模式是一种行为型模式,用于在对象之间建立一种一对多的依赖关系,当一个对象的状态发生改变时,其相关对象都会收到通知并自动更新。
在PHP开发中,观察者模式常用于事件处理、消息通知等场景。
面试题:请简述观察者模式的原理,并给出一个实际应用的例子。
解答:观察者模式的原理是通过定义一个抽象的主题(Subject)和观察者(Observer)接口,主题维护一个观察者列表并提供注册、移除和通知观察者的方法,观察者通过注册到主题上来接收状态的变更。
一个实际应用的例子是用户关注功能。
假设在一个社交网络中,用户可以关注其他用户,并在被关注用户发表新动态时收到通知。
可以通过观察者模式来实现,被关注用户是主题,关注用户是观察者,被关注用户发表新动态时,通知观察者更新动态。
php面试题及详细答案解析
php面试题及详细答案解析php面试题及详细答案1、给你四个坐标点,判断它们能不能组成一个矩形,如判断([0,0],[0,1],[1,1],[1,0]) 能组成一个矩形。
勾股定理,矩形是对角线相等的四边形。
只要任意三点不在一条直线上,任选一点,求这一点到另外三点的长度的平方,两个短的之和如果等于最长的,那么这就是矩形。
2、获取当前客户端的 IP 地址,并判断是否在(111.111.111.111,222.222.222.222)如果没有使用代理服务器:$ip = $_SERVER[REMOTE_ADDR];使用透明代理$ip = $_SERVER[HTTP_X_FORWARDED_FOR];3、nginx 的 log_format 配置如下:1 log_format main ‘remoteaddr?remote_user [timelocal]"request”’2 ‘statusbody_bytes_sent “httpreferer"″"http_user_agent”“upstreamresponsetime""request_time”“http_x_forwarded_for";从今天的 nginx log 文件 access.log 中:a、列出“request_time”最大的 20 行?b、列出早上 10 点访问量做多的 20 个 url 地址?4、什么是 CSRF 攻击?XSS 攻击?如何防范? CSRF:跨站请求伪造,可以通过通过判断****和加 Token 的方式来防范。
XSS:跨站脚本攻击,可以通过对内容转义和过滤来防范,还有 CSP5、从扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这 5 张牌是连续的这个问题有个关键点,扑克牌,1-13 不能再多了。
这就很简单了。
用 PHP 来做,定义一个数组分别存着 1 到 13, 拿出一个,置空一个,最后看下这五个置空的是不是连续的。
php 高级面试题
php 高级面试题在探讨PHP高级面试题之前,我们先来了解一下PHP的基本概念和特点。
PHP是一种通用脚本语言,特别适用于Web开发。
它可以嵌入到HTML中,通过服务器-side脚本运行,生成动态的Web页面。
PHP最早是由Rasmus Lerdorf开发的,现在由PHP开发组维护和发展。
它被广泛用于各种Web应用程序以及命令行脚本。
接下来,我们将讨论一些PHP高级面试题:1. 什么是PHP的自动加载机制(Autoload)?PHP的自动加载机制(Autoload)可以在使用类之前自动包含所需的类定义文件。
它通过定义一个spl_autoload_register()函数来实现自动加载类的功能。
当一个类被使用时,如果尚未包含该类的定义文件,则Autoload函数将会被调用,并且会按照一定的规则查找并包含所需的类文件。
2. 请解释PHP中的命名空间(Namespace)是什么?命名空间是PHP5引入的一种机制,用于解决不同代码库中的命名冲突问题。
它可以将一组相关的类、接口、函数和常量封装到一个命名空间中。
通过使用命名空间,我们可以使用同名的类和函数,而不会产生冲突。
3. 请解释PHP的trait是什么?Trait是PHP5.4版本引入的新特性,它提供了一种代码复用的机制,能够让开发者在不继承类的情况下重用方法集合。
Trait可以被多个类使用,并且可以解决PHP中单继承的限制问题。
4. 什么是PSR标准,它在PHP中的作用是什么?PSR是PHP Standard Recommendation的缩写,它是PHP领域定义的一系列规范标准。
这些标准旨在统一PHP代码的编写风格和结构,提高代码的可读性和可维护性。
PSR的作用是促进PHP开发者之间的代码共享和协作。
5. 请解释PHP中的SPL是什么?SPL(Standard PHP Library)是PHP提供的一组标准库,它包含了一些常用的数据结构和算法的实现。
php高级面试题及答案
php高级面试题及答案一、基础PHP概念1.1 PHP是什么?PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源服务器端脚本语言,特别适合于Web开发,并且是嵌入HTML中执行的。
PHP的语法借鉴了C、Java和Perl等语言,易于学习且功能强大。
1.2 PHP的版本选择在选择PHP版本时,应优先考虑使用最新的稳定版本。
PHP 7.x系列相较于5.x系列有显著的性能提升和新特性,因此推荐使用PHP 7.4或更高版本,以便充分利用最新的性能优化和安全更新。
1.3 PHP的基本语法PHP脚本以`<?php`开始,以`?>`结束。
PHP代码可以嵌入HTML中,也可以单独保存为.php文件。
PHP是弱类型语言,变量无需声明类型即可直接使用,变量名前加`$`符号。
二、函数和数组2.1 内置函数的使用PHP提供了丰富的内置函数,如`strlen()`用于计算字符串长度,`array_map()`用于对数组中的每个元素应用回调函数。
掌握常用内置函数可以提高开发效率。
2.2 自定义函数的创建自定义函数允许开发者创建可重用的代码块。
定义函数使用`function`关键字,如`function myFunction($param)`,调用时直接使用函数名。
2.3 数组操作PHP中的数组是一种有序地图,可以存储多个值。
使用`array()`函数或短数组语法`[]`创建数组。
数组函数如`count()`、`in_array()`、`array_merge()`等,用于数组操作。
三、面向对象编程3.1 类和对象PHP支持面向对象编程(OOP)。
类是对象的蓝图,使用`class`关键字定义。
对象是类的实例,通过`new`关键字创建。
类可以包含属性(变量)和方法(函数)。
3.2 继承和多态继承允许新的类继承现有类的属性和方法,增强代码的可重用性。
多态是指子类可以重写父类的方法,实现不同的行为。
php高级面试题
php高级面试题在准备面试和寻求PHP高级开发岗位时,对于一些常见的PHP高级面试题的准备非常重要。
通过了解和掌握这些面试题,你将能更好地展示自己的技能和知识,从而有更大的机会获得理想的职位。
下面,我将介绍一些常见的PHP高级面试题。
一、面向对象编程(Object-Oriented Programming, OOP)1. 请解释面向对象编程的概念和优势。
面向对象编程是一种程序设计范例,它将相关的数据和操作封装在对象中,并通过对象之间的交互实现程序逻辑。
与传统的过程式编程相比,面向对象编程具有更好的可维护性、可扩展性和代码重用性。
2. 请解释面向对象编程中的封装、继承和多态。
封装是指将相关的数据和操作封装在一个对象中,对外部隐藏对象的内部细节,只通过公共接口与对象进行交互。
继承是指通过继承机制,可以基于已有的类创建新的类,并且新的类可以继承并重用父类的属性和方法。
多态是指一个对象可以在不同的上下文中表现出不同的行为。
通过接口和抽象类的使用,可以实现多态性。
3. 请解释什么是接口和抽象类。
接口是一种规范,定义了一个类应该实现的方法。
它只包含方法的声明,没有实现的具体代码。
类可以实现一个或多个接口,从而拥有接口中定义的方法。
抽象类是一个不能被实例化的类,只能被继承。
它可以包含抽象方法和具体方法。
抽象方法只有声明,没有实现,需要在继承的子类中实现。
二、设计模式(Design Patterns)1. 请列举几种常见的设计模式,并解释它们的应用场景。
- 工厂模式(Factory Pattern):用于创建对象的模式,将对象的创建过程封装在工厂类中,客户端通过工厂类获取所需的对象。
- 单例模式(Singleton Pattern):确保一个类只有一个实例对象,并提供全局访问点。
- 观察者模式(Observer Pattern):定义对象之间一对多的依赖关系,当一个对象状态改变时,其所有依赖都会收到通知。
- 访问者模式(Visitor Pattern):将对象结构与操作分离,使得操作可以独立变化,而不影响结构。
php面试常问的问题及回答
php面试常问的问题及回答PHP面试常问的问题及回答在面试PHP开发者的过程中,面试官通常会问一些常规的问题,用以了解面试者的基础知识和实际应用能力。
本文将根据问题类别,列举出一些常见的PHP面试问题及答案,并给出详细解释。
1. PHP基础1.1 什么是PHP?答:PHP是一种通用的开源脚本语言,与HTML配合使用,用于Web 开发和服务器端脚本编程,也可以嵌入HTML代码中。
1.2 PHP支持哪些数据类型?答:PHP支持整型、浮点型、布尔型、字符串、数组、对象、资源和NULL等七种数据类型。
1.3 PHP的四种变量范围是什么?答:PHP的四种变量范围分别是全局变量、局部变量、静态变量和超级全局变量。
其中,全局变量可以在脚本的任何地方访问,局部变量只能在定义它的函数内部访问,静态变量可以在函数调用结束后保留其值,超级全局变量是PHP预定义的全局变量,如$_GET、$_POST等。
2. PHP进阶2.1 什么是会话?如何在PHP中实现会话?答:会话是指连续的用户请求和响应之间的交互过程。
通过会话技术,可以在用户访问Web应用程序期间维持对话状态,实现用户登录、购物车等功能。
在PHP中,可以通过session_start()函数开启会话,使用$_SESSION数组存储和访问会话变量。
2.2 如何在PHP中实现文件上传?答:在PHP中,可以通过以下步骤实现文件上传:(1) 创建一个包含文件上传功能的HTML表单;(2) 在服务器端使用$_FILES数组接收上传的文件;(3) 检查文件类型、文件大小等安全信息;(4) 将上传的文件移动到服务器的指定目录。
2.3 PHP如何连接MySQL数据库?答:PHP可以使用MySQLi扩展或PDO扩展来连接MySQL数据库。
具体操作如下:(1) MySQLi扩展:$mysqli = new mysqli($servername, $username, $password, $dbname);if ($mysqli->connect_error) {die("连接失败: " . $mysqli->connect_error);}(2) PDO扩展:$pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);if (!$pdo) {die("连接失败: " . $pdo->errorInfo());}3. PHP框架3.1 什么是MVC模式?答:MVC(Model-View-Controller)是一种软件架构模式,将软件应用程序分成三个部分:模型(Model)、视图(View)和控制器(Controller)。
php面试常见问题及答案
php面试常见问题及答案php面试常见问题及答案一1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在哪个预定义变量中?而链接到当前页面的URL又记录在哪个预定义变量中?答:echo $_SERVER['PHP_SELF']; echo$_SERVER["HTTP_REFERER"];2.执行程序段<?php echo 8%(-2) ?>将输出什么?答:03.在HTTP 1.0中,状态码 401 的含义是什么;如果返回“找不到文件”的提示,则可用 header 函数,其语句是什么?答:状态码401的含义是未授权; header(“HTTP/1.0404 Not Found”)。
4.数组函数 arsort 的作用是什么;语句error_reporting(2047)的作用是什么?答:arsort的作用是对数组进行逆向排序并保持索引关系;All errors and warnings。
5.写出一个正则表达式,过虑网页上的所有JS脚本(即把标记及其内容都去掉)?答:/<[^>].?>.?<//>/siphp面试常见问题及答案二1.PHP里面是区分大小写的吗?这是个很不好回答的问题,PHP对于系统函数、用户自定义函数、类名称等是不区分大小写的如可以用EHCO也可以用echo调用显示函数,但对于变量名称又是区分大小写的,如$Name和$NAME是2个不同的变量。
而对于文件名又因服务器操作系统而定,linux中区分,Win不区分2.php://input和$_POST有什么区别??$_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换。
php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据php://input 允许读取 POST 的原始数据。
php高级工程师面试题
php高级工程师面试题作为一名PHP高级工程师,面试题是我们在求职过程中经常遇到的挑战。
高级工程师岗位对技术要求较高,需要具备扎实的编程基础和丰富的项目经验。
在这篇文章中,我将为大家整理一些常见的PHP高级工程师面试题,并提供相应的参考答案和解析,帮助大家更好地应对面试。
面试题一:请解释什么是PHP的自动加载机制?参考答案:PHP的自动加载机制用于实现在使用类时自动加载相应的类文件。
通过自动加载机制,我们无需在每次使用类时手动引入类文件,提高了开发效率。
自动加载机制可以通过注册自动加载函数来实现,例如使用spl_autoload_register()函数注册一个自动加载函数。
解析:在回答这个问题时,我们可以先简单解释一下类的概念,然后说明为什么需要自动加载机制以及它的好处。
接着可以提到PHP中实现自动加载的方法,如使用spl_autoload_register()函数等。
面试题二:请介绍一下PHP的命名空间(namespace)是什么?在项目中为什么需要使用命名空间?参考答案:命名空间是PHP5.3版本引入的新特性,用于解决不同代码文件中命名冲突的问题。
通过命名空间,我们可以将相同功能、职责或模块的类、函数、常量等封装到一个特定的空间中,避免了命名冲突的发生。
解析:回答这个问题时,我们可以先简单解释一下命名空间的概念和作用,然后重点强调在大型项目中,不同开发人员编写的代码可能会存在命名冲突的问题,使用命名空间可以有效避免这种情况的发生。
面试题三:请解释一下PHP的trait是什么?在项目中如何使用trait?参考答案:Trait是PHP5.4版本引入的新特性,用于解决PHP不支持多重继承的问题。
通过使用trait,我们可以在类中引入trait中定义的方法并重用,实现了代码的复用性。
在项目中,我们可以通过use关键字在类中引入trait,并在类中直接调用trait中定义的方法。
解析:回答这个问题时,我们可以先简单介绍一下trait的概念和作用,然后重点强调PHP不支持多重继承的问题以及使用trait可以解决这个问题。
php高级面试题及答案
php高级面试题及答案PHP是一种广泛应用于Web开发的脚本语言,拥有强大的功能和丰富的应用场景。
对于PHP开发人员来说,面试是展示自己能力的重要环节。
以下是一些常见的PHP高级面试题及答案,可以作为参考,帮助你在面试过程中更好地展示自己的技术实力。
1. 什么是PHP的魔术方法(Magic methods)?答:PHP的魔术方法是一组具有特殊命名规则的方法,用于进行对象的初始化、属性的访问、函数调用等特殊操作。
常见的魔术方法包括构造函数(__construct),析构函数(__destruct),访问器(__get,__set),调用器(__call,__callStatic)等。
通过使用魔术方法,可以灵活地处理对象的行为。
2. 请解释PHP的命名空间(Namespace)是什么?如何使用命名空间?答:PHP的命名空间是一种用于组织和管理代码的技术,可以将类、接口、函数等封装在一个指定的命名空间内,避免命名冲突。
可以使用namespace关键字来定义命名空间,例如:```namespace MyNamespace;```在使用命名空间中的类或函数时,需要使用完全限定名(包括命名空间前缀)或者使用use关键字导入所需的类或函数。
例如:```use MyNamespace\MyClass;$obj = new MyClass();```3. 解释PHP的自动加载(Autoload)机制是什么?如何实现自动加载?答:PHP的自动加载机制是一种方便的方式,用于按需加载类文件,避免手动引入过多的类文件。
可以通过spl_autoload_register函数注册一个或多个自动加载函数,当使用尚未加载的类时,PHP会自动调用这些函数来定位和加载类文件。
示例代码如下:```spl_autoload_register(function ($className) {require_once(__DIR__ . '/' . $className . '.php');});```这段代码会在当前目录下按照类名加载对应的类文件。
php技术总监面试题
php技术总监面试题引言:PHP(Hypertext Preprocessor)是一种通用开源脚本语言,特别适用于Web开发。
PHP技术总监是负责管理和指导团队,确保项目以高质量、高效率地完成的关键职位。
本篇文章将介绍一些常见的PHP技术总监面试题,以帮助读者更好地理解该职位的要求和应对面试的技巧。
一、PHP的基础知识1. 解释什么是PHP?它与HTML的区别是什么?2. 请简要说明PHP的数据类型有哪些,并举例说明。
3. 讲解一下PHP中的超全局变量以及各自的作用。
4. PHP的错误处理方式有哪些?请列举并简要说明。
5. PHP中的魔术方法是什么?能够举例说明几个吗?二、PHP开发技术和框架1. 请介绍常用的PHP开发框架和它们的特点。
2. 什么是MVC架构?请解释一下它在PHP开发中的作用。
3. 你在项目中使用过哪些缓存技术,如何选择合适的缓存机制?4. 请简要介绍PHP中的面向对象编程(OOP)的概念和使用场景。
5. 解释一下PHP中的数据库连接和操作方式,并谈谈你对数据库优化的经验。
三、团队管理与项目经验1. 在你的职业生涯中,你曾经参与过怎样的PHP项目?请详细介绍一个你认为最有挑战性的项目,并说明你是如何解决困难的。
2. 作为PHP技术总监,你如何推动团队项目的规范化开发和代码质量的提升?3. 请谈谈你在项目中如何进行技术选型和架构设计的经验。
4. 在项目开发过程中,你是如何保证团队成员之间的合作和沟通的?5. 你如何评估和解决团队成员的技术能力不足和进步空间不大的问题?结语:PHP技术总监是一个对技术敏感、经验丰富且有团队管理能力的职位。
通过对面试题的回答,面试官可以全面了解你的技术水平、项目经验以及团队管理能力。
同时,也是你展示个人能力和潜力的机会。
希望本文的PHP技术总监面试题能够帮助你充分准备,取得成功。
祝你面试顺利,早日获得理想的职位!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
while(!feof($file)) { echo ????????????; }
fclose($file); ?>
A.file_get_contents($file)
B.file($file)
C.read_file($file)
11.如果想要可读可写得打开一个文件,该给fopen()传什么参数? BD(双选) A.w B.r C.a D.+
12.能够读写常规文件中的二进制数据的函数是______,该函数返回的资源能被fgets()使用。 答案:____fopen()______
13.以下哪些函数能读取文件的全部内容?BDE(三选) A.fgets() B.file_get_contents() C.fread() D.readfile() E.file()
5.以下哪个函数能够获得文件的全部内容,并能够用在表达式中?(双选) AD
A.file_get_contents() B.fgets() C.fopen() D.file() E.readfile()
6. 在不把文件内容预加载到变量中的前提下,如何解析一个以特殊格式格式化过的多行文 件?C
20.假设image.jpg存在并能够被PHP读取,调用以下脚本时,浏览器上显示什么?E
header ("Content-type: image/jpeg"); ?> readfile ("image.jpg"); ?>
A.一张JPEG图片 B.一个二进制文件 C.下载一个二进制文件 D.下载一张JPEG图片
A.用file()函数把它分割放入数组 B.用sscanf() C.用fscanf() D.用fgets() E.用fnmatch()
7.考虑如下脚本,最后文件myfile.txt的内容是什么?
E;
$array = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $f = fopen ("myfile.txt", "r"); for ($i = 0; $i < 50; $i++) {
fgets函数主要用来从文本文件中读取一行,当然你也可以指定每次读取的最大长度。 fread函数主要用来读取二进制数据。答案是D。
2. 文件指针能在PHP脚本结束时自动关闭,但你也可以用______函数来关闭。 答案:_fclose()___________
3. 考虑如下PHP脚本,它一行一行的读取并显示某文本文件的内容。在问号处填入什么才 能使脚本正常运作?
18.stat()和fstat()有什么区别? B
A.stat()基于文件指针工作,fstat()基于路径工作 B.fstat()基于文件指针工作,stat()基于路径工作 C.fstat()不能处理文件 D.stat()不能处理文件 E.fstat()是stat()的别名
19.以下哪个选项准确的描述出了方框中的脚本的作用? C
剩余磁盘空间(单位是byte),而disk_total_space()能确定设备的总容量。两者相除,再 乘以百分率,最后用number_format()保留两位小数,脚本输出的就是剩余磁盘空间所占 的比例。最后在加上百分号以防混淆。 20.答案是E。你注意到两个代码块之间的空行了吗?它将被输出到浏览器上,使得整个图 片的二进制数据出错。因此浏览器将显示一个破碎的图片(或者是一条信息,指出图片 出错)。 译者注:原文中两个代码块之间并没有空行,而在我添加了空行之后,也没有 调试出答案中描述的情况。)
A.删除文件 B.删除文件夹 C.释放变量 D.移除数据库记录 E.没有这个函数!
9.考虑如下脚本,哪个PHP函数和它的功能最接近? function my_funct ($file_name, $data) { $f = fopen ($file_name, 'w'); fwrite ($f, $data); fclose ($f); } ?> C
echo number_format (disk_free_space ('c:\\') / disk_total_space('c:\\') * 100, 2) . '%'; ?>
A.计算Windows系统C盘的剩余磁盘空间大小 B.输出一个表示C盘剩余空间所占比例的两位小数 C.输出C盘剩余容量的byte数 D.计算C盘总容量与剩余空间的比率 E.以上都不对
1. 函数______能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用 ______函数。
A.fgets(), fseek() B.fread(), fgets() C.fputs(), fgets() D.fgets(), fread() E.fread(), fseek()
E.一张残破的图片
答案 1. 2. 函数fclose能关闭文件指针。 3. 4. 正确答案是D。这题很难,而且在实践中不大可能会碰到这样的问题——但这不正是你 读这本书的原因吗?!你必须记住,flock()使用一种“协议”锁定机制,即所有其他访 问此文件的进程也必须要使用flock()。如果某个进程没有这么做,竞争就会产生,锁就 不安全。用mkdir创建一个文件夹能保证任何时刻只有一个进程处理能处理某文件,即 保证操作的原子性。因此,你可以创建一个临时文件夹并“护”住它,直到I/O操作完成。 5. 只有file_get_contents和file函数返回文件的全部内容,因此答案是A和D。readfile函数也 能读取文件的全部内容,但它直接把内容送入了输出缓存,因此不能用在表达式中。 6. fscanf函数能根据指定格式解析文件内容,因此答案是C。sscanf函数只能用来操作字符 串。 7. 答案是E。注意,文件被以r模式打开,即只读模式。因此,如果文件不存在,PHP将输 出一个错误来指出没有找到文件。如果文件存在,fopen()将被成功调用,但由于是以只 读方式打开,fwrite()会失败。如果我们用w代替r,脚本就能正常运行,并且myfile.txt 内将有50个随机字符(记住,可以像访问数组那样使用索引来访问字符串)。 8. 答案是E。PHP里没有叫delete()的函数。删除文件用unlink(),删除文件夹用rmdir(),数 据库记录用SQL语句删除,释放变量用unset()。
A.clearstatcache() B.fflush() C.ob_flush() D.touch() E.以上都不对
16.函数______能判断一个文件是否可写。 答案:_____这是在说is_writeable函数_______
17.以下哪个选项能将文件指针移到开头?D
A.reset() B.fseek(-1) C.fseek(0, SEEK_END) D.fseek(0, SEEK_SET) E.fseek(0, SEEK_CUR)
D.fgets($file)
E.fread($file)
fgets函数能从文件中读取单独一行。因此答案是D。
4. 以下哪种方法能保证锁在任何竞争情况下都安全? D
A.用flock()锁住指定文件 B.用fopen()在系统的临时文件夹里打开文件 C.用tempnam()创建一个临时文件 D.用mkdir()创建一个文件夹来当 E.用tmpfile()创建一个临时文件
9. 脚本实现的功能与file_put_contents()最接近,但这个函数直到PHP5才被引入,因此答案 是C。 10.PHP4.3.0开始,php.ini引入了auto_detect_line_endings设置,系统在保存文本文件时能够 自动侦测行结束符号的类型,因此答案是A。 11.要可读可写的打开文件,你必须使用r+模式,因此答案是B和D。 12.这是在说fopen()函数。 13.正确答案是B,D和E。file,readfile和file_get_contents都能读取文件的全部内容。 14.fwrite()和fputs()两个函数在这里都可以,而后者其实是前者的别名。在PHP中,写入二 进制数据和写入字符串没有区别。 15.PHP会缓存某些文件系统函数的返回值——包括file_exists(),这样能提高脚本处理重复 操作时的效率。当脚本里有大量删除文件的操作时,缓存很容易就会过时,因此需要清 理缓存。答案是A。 16.这是在说is_writeable函数,它返回一个表示文件是否可写的布尔值。 17.正确答案是D。fseek()用来移动文件指针。SEEK_SET指出偏移量从文件开头开始计算。 如果没有特别指出,SEEK_SET就是fseek()的默认模式。注意,rewind函数等效于 fseek(0,SEEK_SET)。 18.答案是B。fstat函数通过已打开的文件指针取得文件信息,stat()获取指定路径的文件信 息。 19.正确答案是B。disk_free_space函数能确定指定设备上(本题中即Windows下的C盘)的
fwrite ($f, $array[rand(0, strlen ($array) - 1)]); } ?> A.什么都没有,因为$array实际上是一个字符串,而不是数组 B.49个随机字符 C.50个随机字符 D.41个随机字符 E.什么都没有,或者文件不存在,脚本输出一个错误
8.函数delete是做什么的?E
A.file_get_contents() B.file_put_contents()
C.没有这样的函数 D.file() E.fputs()
10.如果你的脚本无法正确识别一个存储于另一个平台上的文件的行结尾,你该怎么办? A.改变auto_detect_line_ending的设置 B.用正则表达式侦测行的最后一个字母 C.用fpos() D.用ftok() E.每次读取一个字符