一、写一个函数,尽可能高效的,从一个标准url里取出文件的扩展名(及文件后缀名)
例如:http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
function getExt($url){
$arr=parse_url($url);//parse_url:解析URL,并且以一个关联数组的形式返回URL的各个组成部分。无效字符用_来替换。
$file=basename($arr['path']);//basename():返回路径中的文件名信息。
$ext=explode(".",$file);//explode:分隔字符串到数组
return $ext[1];
}
二、写一个函数,算出两个文件的相对路径
例如:写一个函数,算出两个文件的相对路径,如 $a='/a/b/c/d/e.php';$b='/a/b/12/34/c.php';
function getpathinfo($path1, $path2) { $a2array = explode('/', dirname($path1));//dirname()返回路径中的目录部分 $b2array = explode('/', dirname($path2)); $pathinfo = ''; for( $i = 1; $i <= count($b2array)-1; $i++ ) { //如果两个路径长度不同下标 if(!isset($a2array[$i])){ $a2array[$i]=''; }elseif(!isset($a2array[$i])){ $b2array[$i]=''; } $pathinfo.=$a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/'; } return $pathinfo; }
三、遍历文件夹及文件
function show($dirs){
$dir = opendir($dirs);
echo "<ul>";
while($f=readdir($dir)){
if($f!='.' && $f!='..'){
echo "<li>{$f}</li>";
if(is_dir("$dirs/{$f}")){
show("$dirs/{$f}");
}
}
}
echo "</ul>";
}
getFiles("C:\web\HTML5Upload");
//getFiles($_SERVER['DOCUMENT_ROOT']);
四、冒泡排序