PHP面试常见问题
来源:互联网 发布:开个淘宝店需要多少钱 编辑:程序博客网 时间:2024/06/03 18:40
PHP脚本超时时间调整
查找safe_mode=Off,更改为safe_mode=On
1)查找max_execution_time = 30,更改为max_execution_time = 600 PHP脚本超时时间调整
(2)查找max_input_time = 60,更改为max_input_time = 600 PHP脚本上传文件超时时间调整
(3)查找memory_limit = 8M ,更改为memory_limit = 20M
(4)查找display_errors = On,更改为display_errors = Off
(5)查找register_globals = Off,更改为register_globals = On
(6)查找post_max_size = 8M,更改为post_max_size = 20M
(7)查找upload_max_filesize = 2M,更改为upload_max_filesize = 20M
(8)查找session.auto_start = 0,更改为session.auto_start = 1
保存后退出,从而完成了php.ini文件的配置工作。
一 写一个函数,算出两个文件的相对路径
如$a = '/a/b/c/d/e.php';
$b = '/a/b/1/2/c.php';
计算出$b 相对于$a 的相对路径应该是../../c/d
<?php #写一个函数,算出两个文件的相对路径#如$a = '/a/b/c/d/e.php';# $b = '/a/b/1/2/c.php';#计算出$b 相对于$a 的相对路径应该是../../c/dfunction getRelativePath($a,$b){ $B = array(dirname($b));//dirname()这个函数是截取目录的文件夹,文件名会舍去。 $A = array(dirname($a)); echo "$B[0]<br>"; #/a/b/c/d echo "$A[0]<br>"; #/a/b/1/2 $arrA = explode('/',$A[0]); $arrB = explode('/',$B[0]);// 以 / 为分隔符 形成一个数组 $len = strlen($A); for($n=1; $n < $len; $n++){ if($arrA[$n] != $arrB[$n]){ break; } } if($len - $n > 0){ $A = array_fill(0, $len - $n, '..');//array_fill(0,$len-$n,'..')这个函数是在数组键值0的位置加 2 个.. 这样的数组值 echo "$A[0],$A[1],<br>"; #..,.., } $A = array_merge($A,array_slice($arrB,$n));//array_slice() 是在一个数组中截取从第几个键值开始后的数组值 echo "$A[0],$A[1],$A[2],$A[3]<br>"; #..,..,c,d return implode('/',$A); echo "$A[0],$A[1],$A[2],$A[3]<br>"; #../../c/d} echo getRelativePath('/a/b/1/2/c.php', '/a/b/c/d/e.php');?>
二 写一个函数,尽可能高效的,从一个标准url 里取出文件的扩展名
例如: http:\\www.wps.cn\hello\tks\hi.php?id=1 需要取出 php 或.php
<?phpfunction getExt($url){$path = parse_url($url);#for($i = 0; $i < strlen($path); ++ $i)#{#echo "$path[$i].";#}echo '<br>';print_r(parse_url($url));#Array ( [scheme] => http [host] => www.sina.com.cn [path] => /abc/de/fg.php [query] => id=1 ) echo '<br>';$str=explode('.',$path['path']);return $str[1];}echo getExt('http://www.sina.com.cn/abc/de/fg.php?id=1');?>
#echo $path['scheme'].','.$path['host'].','.$path['path'].','.$path['query'];
#http,www.sina.com.cn,/abc/de/fg.php,id=1
三 pathinfo函数,(PHP 4 >= 4.0.3, PHP 5)
pathinfo -- 返回文件路径的信息
说明
array pathinfo ( string path [, int options] )
pathinfo() 返回一个关联数组包含有 path 的信息。包括以下的数组单元:dirname,basename 和 extension。
可以通过参数 options 指定要返回哪些单元。它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION。默认是返回全部的单元。
例子 1. pathinfo() 例子
<?php $path_parts = pathinfo("/www/htdocs/index.html"); echo $path_parts["dirname"] . "\n"; echo $path_parts["basename"] . "\n"; echo $path_parts["extension"] . "\n"; ?>
上例将输出:
/www/htdocs
index.html
html
四 basename函数,(PHP 3, PHP 4, PHP 5)
basename -- 返回路径中的文件名部分
说明
string basename ( string path [, string suffix] )
给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。
在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。
例子 1. basename() 例子
<?php $path = "/home/httpd/html/index.php"; $file = basename($path); // $file is set to "index.php" $file = basename($path,".php"); // $file is set to "index" //同样也可以这样 $path_other = $_SERVER['DOCUMENT_ROOT']; $test_file = $path_other.basename($_FILES['file_ep']['name']);//file_ep是上传文件的name 值 ?>
在linux下basename的作用是:显示文件或者目录的基本名称
用法:basename 名称[后缀]
或 basename 选项
- PHP面试常见问题
- PHP工程师面试常见问题
- php面试必知必会常见问题
- 面试常见问题!
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- 面试常见问题
- MyEclipse 破解代码
- 关于CSDN网站存在的一些问题的见解[欢迎留言,请勿拍砖]
- Spring FreeMarker
- 关于HTTP GZIP解压问题
- jBPM5 Core Engine API
- PHP面试常见问题
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
- thingkphp3.0实例化
- 115试试吧
- div+css 样式 设置
- this kernel requires an x86-64 CPU, but only detected an i686 CPU. unable to boot - please ues a ker
- C++ 面试经典考题1个
- 十个免费的Web压力测试工具
- CString转UINT