当前位置:Gxlcms > PHP教程 > PHP经典笔试题

PHP经典笔试题

时间:2021-07-01 10:21:17 帮助过:32人阅读

41.页面字符出现乱码,怎么解决?

1.首先考虑当前文件是不是设置了字符集。查看是不是meta标签中写了charset,如果是php页面还可以看看是不是

在header()函数中指定了charset;

例如:

header(“content-type:text/html;charset=utf-8”);


2.如果设置了字符集(也就是charset),那么判断当前文件保存的编码格式是否跟页面设置的字符集保持一致,

两者必须保持统一;


3.如果涉及到从数据库提取数据,那么判断数据库查询时的字符集是否跟当前页面设置的字符集一致,两者必须统一,

例如:mysql_query(“set names utf8”)。

 

42. 正则表达式是什么?php中有哪些常用的跟正则相关的函数?请写出一个email的正则,中国手机号码和座机号码的正则表达式?

正则表达式是用于描述字符排列模式的一种语法规则。正则表达式也叫做模式表达式。

网站开发中正则表达式最常用于表单提交信息前的客户端验证。

比如验证用户名是否输入正确,密码输入是否符合要求,email、手机号码等信息的输入是否合法。

在php中正则表达式主要用于字符串的分割、匹配、查找和替换操作。

preg系列函数可以处理。具体有以下几个:

string preg_quote ( string str [, string delimiter] )

转义正则表达式字符 正则表达式的特殊字符包括:. \\ + * ? [ ^ ] $ ( ) { } = ! < > | :。

preg_replace -- 执行正则表达式的搜索和替换

mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )

preg_replace_callback -- 用回调函数执行正则表达式的搜索和替换

mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )

preg_split -- 用正则表达式分割字符串

array preg_split ( string pattern, string subject [, int limit [, int flags]] )

 

43. 如果想过滤掉某个字符串中所有的html标记使用哪个函数?

 

44. preg_replace()和 str_ireplace()两个函数在使用上有什么不同?preg_split()和split()函数如何使用?

 

45. 获取当前时间戳的函数主要有哪些?用PHP打印出今天的时间,格式是2010-12-10 22:21:21?

用PHP打印出前一天的时间格式是2010-12-10 22:21:21?如何把2010-12-25 10:30:25变成unix时间戳?


echo date ("Y-m-d H:i:s" ,strtotime(‘-1,days’));

date('Y-m-d H:i:s',time());

$unix_time = strtotime("2009-9-2 10:30:25");//变成unix时间戳

echo date("Y-m-d H:i:s",$unix_time);//格式化为正常时间格式

 

46.   在url中用get传值的时候,若中文出现乱码,应该用哪个函数对中文进行编码?

用户在网站表单提交数据的时候,为了防止脚本攻击(比如用户输入

使用urlencode()对中文进行编码,使用urldecode()来解码。 

使用htmlspecialchars($_POST[‘title’])来过滤表单传参就可以避免脚本攻击。

 

47. 连接数据库操作的步骤是什么?每一步的返回值是什么数据类型?尤其是mysql_query()返回什么数据类型?

 

48. 说说mysql_fetch_row() 和mysql_fetch_assoc()和mysql_fetch_array之间有什么区别?

第一个是返回结果集中的一行作为索引数组,第二个是返回关联数组,而第三个既可以返回索引数组也可以返回关联数组,取决于它的第二个参数 MYSQL_BOTH MYSQL_NUM  MYSQL_ASSOC 默认为MYSQL_BOTH

$sql =”select * from table1”;

$result = mysql_query($sql);

mysql_fetch_array($result, MYSQL_NUM);

 

49. 请说出目前学过的返回是资源的函数?

mysql_connect();

mysql_query();只有这执行select的时候成功,才返回资源,失败返回FALSE

fopen();

 

50. 打开、关闭文件分别是什么函数? 文件读写是什么函数?删除文件是哪个函数?

    判断一个文件是否存在是哪个函数?新建目录是哪个函数?

 

 

51. 文件上传需要注意哪些细节?怎么把文件保存到指定目录?怎么避免上传文件重名问题?

1.首现要在php.ini中开启文件上传;

2.在php.ini中有一个允许上传的最大值,默认是2MB。必要的时候可以更改;

3.上传表单一定要记住在form标签中写上enctype="multipart/form-data";

4. 提交方式 method 必须是 post;

5. 设定 type="file" 的表单控件;

6.要注意上传文件的大小MAX_FILE_SIZE、文件类型是否符合要求,上传后存放的路径是否存在。


可以通过上传的文件名获取到文件后缀,然后使用时间戳+文件后缀的方式为文件重新命名,这样就避免了重名。

可以自己设置上传文件的保存目录,与文件名拼凑形成一个文件路径,使用move_uploaded_file(),就可以完成

将文件保存到指定目录。

 

 

52. $_FILES是几维数组?第一维和第二维的索引下标分别是什么?批量上传文件的时候需要注意什么?

二维数组。第一维是上传控件的name,二维下标分别为name/type/tmp_name/size/error.

  

53. header()函数主要的功能有哪些?使用过程中注意什么?

     答:

 

54. 文件下载的时候如果使用header()函数?

答:header("content-type: application/octet-stream;charset=UTF-8"); //在这里加utf-8和在上面定义有什么区别?、??

header("accept-ranges: bytes");

header("accept-length: ".filesize($filedir.$filename));

header("content-disposition: attachment; filename=".$filedir.$filename);

 

55. 什么是ajax?ajax的原理是什么?ajax的核心技术是什么?ajax的优缺点是什么?

ajax是asynchronous javascript and xml的缩写,是javascript、xml、css、DOM等多个技术的组合。       '$'是jQuery的别名.

 

页面中用户的请求通过ajax引擎异步地与服务器进行通信,服务器将请求的结果返回给这个ajax引擎,

最后由这个ajax引擎来决定将返回的数据显示到页面中的指定位置。Ajax最终实现了在一个页面的指定位置可以加载另一个页面所有的输出内容。

这样就实现了一个静态页面也能获取到数据库中的返回数据信息了。所以ajax技术实现了一个静态网页在不刷新整个页面的情况下与服务器通信,

减少了用户等待时间,同时也从而降低了网络流量,增强了客户体验的友好程度。

Ajax的优点是:

1.  减轻了服务器端负担,将一部分以前由服务器负担的工作转移到客户端执行,利用客户端闲置的资源进行处理;

2.  在只局部刷新的情况下更新页面,增加了页面反应速度,使用户体验更友好。

Ajax的缺点是不利于seo推广优化,因为搜索引擎无法直接访问到ajax请求的内容。

ajax的核心技术是XMLHttpRequest,它是javascript中的一个对象。


人气教程排行