1只女菜鸟在树上等你呢
1. 请写出PHP中用来完成如下功能的函数
A.判断一个变量的值是否为空:
B.判断一个变量是否为NULL:
C.判断一个变量是否存在:
D.释放一个变量:
2. 函数strpos的原型为:int strpos ( string haystack, string needle [, int offset]),用来从haystack中查找needle,如果找到返回needle在haystack的偏移,否则返回false。
问:如何区分strpos返回false和返回0?
3. 请指出函数include和require的区别
4. 请列出您所知道的php模版对象
5. 请写出PHP脚本中执行SHELL命令的方法,要求至少写两种。
6. 请写出PHP变量序列化和反序列化的函数,并举出1个应用例子
7. 举例说明php错误处理的方法
8. 在PHP程序中,有些关键性的任务,需要保证资源的正确释放,所以有必要设置清场函数,请选出正确的清场函数:___________
A. register_shutdown_function
B. register_exit_function
C. set_abort
D. set_cleanup_function
9. 在WWW应用的PHP程序中,如何捕捉页面缓存的输出?
10. 请陈述Session的实现机制。如果PHP没有提供Session的实现,请用PHP设计一个简单的Session实现。
11. 写一个*函数*,尽可能高效的,从一个标准url里取出文件的扩展名
例如: [url]http://www.sina.com.cn/abc/de/fg.php?id=1[/url] 需要取出 php 或 .php
12. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码格式,以下是一个标准的 meta 语句
<META http-equiv='Content-Type' content='text/html; charset=gbk'>
请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为 big5
请注意:
1. 需要处理完整的 html 页面,即不光此 meta 语句
2. 忽略大小写
3. ' 和 " 在此处是可以互换的
4. 'Content-Type' 两侧的引号是可以忽略的,但 'text/html; charset=gbk' 两侧的不行
5. 注意处理多余空格
13. 写一个函数,算出两个文件的相对路径
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d
14. 以下是 PHP 标准的 glob 函数说明,请写出一个 glob_r 函数,在标准 glob 的基础上支持列出所有子目录下的文件,且不返回所有目录
Description
array glob ( string pattern [, int flags] )
The glob() function searches for all the pathnames matching pattern according to the rules used by the libc glob() function, which is similar to the rules used by common shells. No tilde expansion or parameter substitution is done.
Returns an array containing the matched files/directories or FALSE on error.
Valid flags:
* GLOB_MARK - Adds a slash to each item returned
* GLOB_NOSORT - Return files as they appear in the directory (no sorting)
* GLOB_NOCHECK - Return the search pattern if no files matching it were found
* GLOB_NOESCAPE - Backslashes do not quote metacharacters
* GLOB_BRACE - Expands {a,b,c} to match 'a', 'b', or 'c'
* GLOB_ONLYDIR - Return only directory entries which match the pattern
Example 1. Convenient way how glob() can replace opendir() and friends.
<?php
foreach (glob("*.txt") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
?>
问题点数:20、回复次数:71Top
1 楼piratesir(Helios.chen)回复于 2006-04-18 15:18:17 得分 0
面试题 大哥们帮我呀 (没饭吃了)Top
2 楼zjiong(TNT)回复于 2006-04-18 15:23:43 得分 0
require 的使用方法如 require("MyRequireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。Top
3 楼wasuka(恋学生癖)回复于 2006-04-18 15:25:05 得分 0
貌似只会第一题~Top
4 楼spacet(空格t)回复于 2006-04-18 15:26:31 得分 0
看着手册做啊,这些东西手册上都有啊Top
5 楼piratesir(Helios.chen)回复于 2006-04-18 15:26:50 得分 0
最好5题后 给答案 回答了想要多少分都行Top
6 楼piratesir(Helios.chen)回复于 2006-04-18 15:29:18 得分 0
我代别人找答案 自己是做java的 呵呵 谢谢了 大哥们不要在犹豫了 回答我呀Top
7 楼spacet(空格t)回复于 2006-04-18 15:45:27 得分 0
我来做最后一个:
<?php
function glob_r($pattern)
{
foreach (glob($pattern) AS $filename) {
if (is_dir($filename)) {
glob_r($pattern);
}
else {
echo $filename." size " . filesize($filename) . "<br>\n";
}
}
}
//调用
glob_r("*.txt");
?>Top
8 楼piratesir(Helios.chen)回复于 2006-04-18 15:59:33 得分 0
好强 谁最倒数第二个Top
9 楼spacet(空格t)回复于 2006-04-18 16:06:37 得分 0
11题,想了个笨办法,凑活用吧:
<?php
$str = "http://www.sina.com.cn/abc/de/fg.php?id=1";
$str1 = explode("?", $str);
$str2 = explode(".", $str1[0]);
$end_fix = $str2[count($str2)-1];
echo $end_fix;
?>Top
10 楼piratesir(Helios.chen)回复于 2006-04-18 16:08:53 得分 0
谢谢 谁能超过空格大哥 嘻嘻Top
11 楼iasky(iasky)回复于 2006-04-18 16:22:52 得分 0
11题
<?php
$temp = parse_url("http://www.sina.com.cn/abc/de/fg.php?id=1");
$temp = explode(".",$temp['path']);
echo $temp[sizeof($temp)-1]
?>Top
12 楼spacet(空格t)回复于 2006-04-18 16:27:09 得分 0
最后一题写漏了,一会补上
Top
13 楼iasky(iasky)回复于 2006-04-18 16:27:22 得分 0
最后少了个分号Top
14 楼piratesir(Helios.chen)回复于 2006-04-18 16:37:54 得分 0
大家还有别的答案吗 我一定不吝啬给分的Top
15 楼zhangli(我来也!)回复于 2006-04-18 16:41:10 得分 0
11题
<?php
function getExtension($pPath)
{
$file = explode("?", $pPath);
$file1=strrchr($file['0'], ".");
$file2=explode("[/url]", $file1);
return $file2[0];
}
$path = "[url]http://www.sina.com.cn/abc/de/fg.php[/url]";
$path2 =[url]http://www.sina.com.cn/abc/de/fg.php?id=1[/url]
echo getExtension($path);
echo "<br>".getExtension($path2);
?>Top
16 楼zhangli(我来也!)回复于 2006-04-18 16:43:52 得分 0
上面有点错^_^
$path2 ="[url]http://www.sina.com.cn/abc/de/fg.php?id=1[/url]";
Top
17 楼piratesir(Helios.chen)回复于 2006-04-18 16:45:47 得分 0
11题和你们有仇呀 我看别的题也不顺眼 唔唔...Top
18 楼zeroleonhart(Strong Point:Algorithm)回复于 2006-04-18 17:03:29 得分 0
我只说算法:
11题:取出?和它之前的.之间的字符串
12题:网上有相关的简繁体转换函数,直接拿来用好了,就是别忘了把gbk替换成big5
13题:定义相对地址$dir="";将两个路径字符串按照/分割写入数组,开始依次比较两个数组中对应的值,相等不输出,不等则在$dir前面加上"../",后面加上相对于那个变量相应的数组元素值,比较到数组的倒数第二个元素为止时$dir的值就是所求的相对路径。
Top
19 楼nathena(凤)回复于 2006-04-18 17:08:13 得分 0
13. 写一个函数,算出两个文件的相对路径
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d
初学PHP想看看好办法
<?php
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
function rela(){
global $a;
global $b;
$v = explode('/',$a);
$vv = explode('/',$b);
$d = "";
for ($c=1;$c<sizeof($vv)-1;$c++){
if($v[$c]==$vv[$c]){
$d.="../";
}
else{
$d.=($v[$c]."/");
}
}
echo($d);
}
rela();
?>Top
20 楼xuzuning(唠叨)回复于 2006-04-18 17:10:15 得分 0
11、
$url = 'http://www.sina.com.cn/abc/de/fg.php?id=1';
function foo11($url) {
$ar = parse_url($url);
return pathinfo($ar['path'], PATHINFO_EXTENSION);
}
13、
function foo13($path, $consult) {
$a = split('/', $path);
$b = split('/', $consult);
$t = array_intersect_assoc($a, $b);
$n = strlen(join('/', $t));
$p = substr(str_repeat('../', count($t)-1), 0, -1);
return dirname($p.substr($consult, $n));
}
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
echo foo13($b, $a);
Top
21 楼piratesir(Helios.chen)回复于 2006-04-18 17:25:47 得分 0
十分感谢了 。。。Top
22 楼wanglei051(淡蓝的云)回复于 2006-04-19 10:29:23 得分 0
学习啊,我要是去的话估计准被淘汰,没了手册函数都不知道怎么写Top
23 楼zeroleonhart(Strong Point:Algorithm)回复于 2006-04-19 11:23:13 得分 0
更正一下
13题:当比较到不相同的数组元素之后就开始更改$dir的值,无论以后是否有相等的情况,都应当在前面加"../"以及在后面加"数组元素值/",当比较方未结束,被比较方已结束(指比较到倒数第二个元素)时在前面加"../",反之则在后面加"数组元素值/"Top
24 楼kapil()回复于 2006-04-19 11:29:35 得分 0
感觉出这些题的人脑子有点问题,谁能马上写出正确答案呢,应该问该如何实现,比如用正则表达式什么的~~~Top
25 楼ZJQ100()回复于 2006-04-19 12:13:57 得分 0
PHP,不会:(Top
26 楼zeroleonhart(Strong Point:Algorithm)回复于 2006-04-19 12:21:09 得分 0
13:
<?php
$a1 = '/a/b/c/d/e.php';
$b1 = '/a/b/12/34/c.php';
$a = explode('/', $a1);
$b = explode('/', $b1);
$n=1;
$m=min(count($a),count($b));
$dir="";
for($i=1;$i<$m;$i++){
if($a[$i]==$b[$i]){
$n++;
}
else{
$i=$m;
}
}
for($n2=$n;$n2<count($a)-1;$n2++){
$dir=$dir.$a[$n2]."/";
}
for($n2=$n;$n2<count($b)-1;$n2++){
$dir="../".$dir;
}
echo $dir."<br/>";
?>Top
27 楼marco08(天道酬勤)回复于 2006-04-19 13:04:01 得分 0
有意思Top
28 楼wwfgah(我就是玉树临风胜潘安,一枝梨花压海棠的小淫虫周伯通)回复于 2006-04-19 13:52:37 得分 0
PHP不会,不过要是在床上等就会更有意思.Top
29 楼iasky(iasky)回复于 2006-04-19 14:45:37 得分 0
唠叨的13题有意思,学习了Top
30 楼zeroleonhart(Strong Point:Algorithm)回复于 2006-04-19 16:06:42 得分 0
唠叨的13题有错误
如果是$a='/a/b/c/d/e.php',$b='/a/b/f/d/e/f.php'就不对了Top
31 楼yyszh(追求完美)回复于 2006-04-19 16:20:33 得分 0
从来不记这些东西,用到的时候去查资料。Top
32 楼aniude(重返荣耀)回复于 2006-04-19 19:08:17 得分 0
这个贴很火!呵呵Top
33 楼hoveryi(不知·知·不知)回复于 2006-04-19 20:28:15 得分 0
LZ以后可以去做策划,晕。 标题起的“相当”N!
-----------------------------
俺不会爬树,帮不了你了,哈哈!Top
34 楼zairwolfb(君子兰)回复于 2006-04-20 00:12:22 得分 0
哈哈。n个11题。
偶也不会爬树,谁把那个女菜鸟打下来啊。Top
35 楼xuzuning(唠叨)回复于 2006-04-20 08:36:08 得分 0
很好,终于有人发现并指出了错误!
其实我在回帖后就意识到错误了,没有立即改正的原因是想看看:究竟有多少人是在认真的看贴
function foo13($path, $consult) {
if($path[0] == '/') $path = '/'.$path;
if($consult[0] == '/') $consult = '/'.$consult;
$i = $k = 0;
while($path[$i] == $consult[$i]) {
if($path[$i] == '/') $k = $i;
$i++;
}
if($n = substr_count(substr($path, $k+1), '/')) {
return str_repeat('../', $n).substr($consult, $k+1);
}
return './'. substr($consult, $k+1);
}
Top
36 楼zeroleonhart(Strong Point:Algorithm)回复于 2006-04-20 18:13:51 得分 0
刚学到一个单词:
CSDN....
Top
37 楼umbrella1984(雨伞(KEN))回复于 2006-04-20 21:03:47 得分 0
其实大家在这里写出答案,很多基本上也是参考了手册的。。Top
38 楼iasky(iasky)回复于 2006-04-20 21:38:37 得分 0
汗,我只测试了搂主的例子,真的有错.....
13.....Top
39 楼piratesir(Helios.chen)回复于 2006-04-21 09:35:00 得分 0
大家太有热心了 谢谢Top
40 楼winder()回复于 2006-04-21 13:35:34 得分 0
To:xuzuning(唠叨)
还是有一点瑕疵:
假设使用相对路径几有问题了,如:
$a = 'a/b/c/d/e.php';
$b = '3/4/c.php';
Top
41 楼web_php(C#C++_PHPMYSQL_ASP)回复于 2006-04-21 14:02:38 得分 0
珍藏,回去慢慢想。Top
42 楼wukol(巢霞)回复于 2006-07-07 09:19:09 得分 0
看来我还在浴缸中学游泳,大家都已在海水里漂...Top
43 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-07-07 13:09:43 得分 0
女菜鸟,赶快过来看男菜鸟。Top
44 楼wonderlee(心中有梦)回复于 2006-07-07 13:19:29 得分 0
或许以后面试可能碰上,留脚印。Top
45 楼anshenghao(幽雅的佐为)回复于 2006-07-07 13:27:37 得分 0
真不是一般的公司,出这么多鬼题.Top
46 楼nosad(水温没调好)回复于 2006-07-07 13:32:58 得分 0
留个记号~~~~Top
47 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-07-07 13:34:24 得分 0
除了第8题有点偏了。其他都是日常用品怎么能说是鬼题— —bTop
48 楼lijinxing(七夜)回复于 2006-07-07 14:08:43 得分 0
$str = "http://www.sina.com.cn/abc/de/fg.php?id=1";
$ext = explode("?",strrchr($str,"."));
echo $ext[0];Top
49 楼web_php(C#C++_PHPMYSQL_ASP)回复于 2006-07-07 16:29:41 得分 0
第8题是不是A啊,不知道对不对Top
50 楼_pb_(大蚂蚁(如果懂100本Java书是主管;那我要懂1000本))回复于 2006-07-07 16:36:09 得分 0
标记一下下^O^ 回头抽空做做。Top
51 楼msq847()回复于 2006-07-07 16:43:30 得分 0
有意思
好象一题都不会Top
52 楼jetxt(擦肩而过)回复于 2006-07-07 16:48:56 得分 0
mark 下了班再做Top
53 楼guestdaocao(稻草人)回复于 2006-07-10 09:04:41 得分 0
啊,看成了母菜鸟在树上等我…………-_-#Top
54 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-07-10 11:26:34 得分 0
啊,因为你是公的所以有此一看..........-o-#Top
55 楼chaos_blue(chaos(混沌))回复于 2006-07-10 11:29:03 得分 0
mark
题目是什么意思啊?惹人瞩目?Top
56 楼inssuc(cproj)回复于 2006-07-10 11:30:20 得分 0
篡头,为什么要加个“女”字?Top
57 楼php1234()回复于 2006-07-10 14:26:32 得分 0
原来人都来这里了。Top
58 楼mouzhi(谋之)回复于 2006-07-10 15:41:54 得分 0
收藏了Top
59 楼aceblues(炽天使)回复于 2006-07-10 16:56:05 得分 0
人气好旺啊!顶一下吧,Top
60 楼flyonet(人生如梦【★】梦如人生)回复于 2006-07-10 18:36:05 得分 0
唠叨都出马了,你这只小鸟好厉害啊。Top
61 楼Meteorlet(http://smartdict.cn)回复于 2006-07-10 21:07:44 得分 0
还有一种情况
$a = 'a/b/c/d/e.php';
$b = 'a/e/f/g/../../.././b/c/d/c.php';Top
62 楼yibotiemen(易通)回复于 2006-07-11 09:11:40 得分 0
从标题都能看出来有潜力,近来留个名Top
63 楼andylauhai(♂) (人生苦短,开心就好)(^_^)(征途)(珍惜生命,远离IT)回复于 2006-07-11 09:28:44 得分 0
没弄清楼主性别Top
64 楼yaccor(-_-!!,一半青的蛙)回复于 2006-07-11 10:07:17 得分 0
...............Top
65 楼Unending(看分答题)回复于 2006-07-11 11:04:48 得分 0
都又答案了
没我事了
砍树做家具去Top
66 楼unspace(unspace)回复于 2006-07-11 11:56:50 得分 0
第5题
PHP运行shell的方法:
第一种是用exec(命令串,返回数组),例
$aa=exec("dir",$res); //$aa得到的是结果最后一行
print_r($res); //输出返回值,结果是数组,输出格式自己弄吧
第二种方法,是用``来解决(Ese键下边的符号),例
$res=`dir`;
echo $res; //输出返回值,结果是串,格式自己弄吧
Top
67 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-07-11 13:19:19 得分 0
鸟者男也,有鸟之女人妖也。Top
68 楼true_mariner(水手)回复于 2006-07-11 14:12:07 得分 0
我在CSDN最欣赏的就是"xuzuning(唠叨)"了Top
69 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-07-11 14:36:14 得分 0
唠叨是新人杀手 >:D
(请参考师奶杀手,不要乱解我的原意)Top
70 楼dongdongmo(aaaa)回复于 2006-07-11 14:51:39 得分 0
同意楼上参考的内容Top
71 楼xjflyttp(疯子nOvEr)回复于 2006-07-11 19:31:15 得分 0
这么长气~~~~~~懒得看```Top




