首页 > php开发, 技术学习 > 自己总结的php面试题二

自己总结的php面试题二

1.echo  print()和print_r()的区别?
echo 是php语句,print()
print_r()是php的函数,语句没有返回值,但是函数有返回值。
echo可以输出一个或者多个字符串变量。
print()只能打印出一些比较简单的类型变量(如int
string类型)
print_r()可以打印出比较复杂的类型(比如数组和对象以及资源等)

2.比较混淆的两个东西的比较empty和isset?
empty和isset都是语言构造器,不是函数。
empty()是来判断一个变量是否为空,
比如:0,‘0’,‘’,null,false,array()以及没有被赋予任何属性的对象都被认为是空的。
iseet()是来判断一个变量是否已设置的。
<literal>
3.js中网页前进和后退的代码?
<input type=’button’value=’前进’ onclick=history.go(1) />
<input
type=’button’value=’前进’ onclick=history.forward />
<input
type=’button’value=’后退’ onclick=history.go(-1) />
<input
type=’button’value=’后退’ onclick=history.back()
/>
</literal>
4.写一个函数能够递归的创建多级的目录?
答:使用系统的函数的话,可以使用mkdir(‘/path/to/my/dir’,0700,true);

4.1写一个正则表达式来过滤掉页面中的所有的script标签代码?
$patt=/<script([\s\S]*?)<\/script>/si;  
?的作用是进行贪婪匹配
preg_replace($patt,”,$content);

5.写一个函数用来遍历一个目录下面的所有的文件和文件夹?

$dir = ‘E:\WorkSpace';

function scan_dir($dir) {
if (is_dir($dir)) { //先判断是不是一个目录
$dh = opendir($dir); //打开这个目录
if ($dh) {
while (false !== ($file = readdir($dh))) { //开始遍历的读取文件
if ($file == ‘.’ || $file == ‘..’) {
continue;
}
if (is_dir($dir . “/” . $file)) {
scan_dir($dir . “/” . $file);
}
echo $file . ‘<br/>';
}
}
}
}

scan_dir($dir);

//上面的这个函数可以遍历出一个文件夹中的所有的文件和文件夹中包含的文件。

6.写出
访问 http://www.sina.com.cn 所需的报文头, 同类题目还有:
获得上面url的内容(往往还会问如果10秒读不到就超时退出,怎么做)
答:我们可以使用系统的内置函数来获取报头,get_headers(),此函数中有两个参数,第一个参数是要获取的url的值,第二个参数为1的话,则会将所获取到的值进行一个格式化

如果让我们取出$url中的具体内容,我们还可以使用
file_get_contents($url)来进行一个获取
但是我们一般使用的是fsockopen的函数来进行抓取
$host=’sohu.com';
//打开这个连接,相当于是一个获取数据的通道
$fh=fsockopen($host,80.$errno,$errnu,10);
//开始拼凑请求的头信息
$request=”;
$request.=’GET
/
HTTP/1.1\r\n';
$request.=’Host:’.$host.’\r\n';
$request.=’Connection:close\r\n\r\n';
//开始进行发送
fwrite($fh,$request,strlen($request));
//开始进行读取
$info=”;
while(!feof){
  
$info.=fread($fh,1024);
}
echo $info; //这里可以将信息输出 也可以将信息保存在一个文件中

 

1.echo  print()和print_r()的区别? echo 是php语句,print() print […]

  1. 还没有评论
评论提交中, 请稍候...

留言

(Spamcheck Enabled)

Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks