遍历一个文件夹下的所有文件和子文件夹
<?php
function my_scandir($dir){
$files = array();
if(is_dir($dir)){
if ($handle = opendir($dir)) {
while (($flie = readdir($handle))!== false) {
if ($flie!="." && $file!="..") {
if (is_dir($dir."/".$file)) {
$files[$file] = my_scandir($dir."/".$file);
} else {
$files[] = $dir."/".$file;
}
}
}
closedir($handle);
return $files;
}
}
}
?>
写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):
<?php
header("content-type:text/html;charset=utf-8");
$script = "以下内容不显示:<script type='text/javascript'>alert('cc');</script>";
$pattern = '/<script[^>]*?>.*?</script>/si';
echo preg_replace($pattern, "脚本内容", $script);//以下内容不显示:脚本内容
?>
php中邮箱地址正则表达式
$pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i"; if(preg_match($pattern,$email)) { echo "邮箱正确"; } 如何取img属性值 src <?php $pattern ='<img.*?src="(.*?)">'; $html = '<img id="pic" name="pic" src="aaa.jpg" style="width: 640px;">'; preg_match($pattern,$html,$matches); echo $matches[1]; ?> 获取文件相对路径的方法 <?php $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //../../12/34/c.php echo getRelativelyPath($a,$b); //求$b相对于$a的相对路径 function getRelativelyPath($a,$b){ $a=explode('/',$a); $b=explode('/',$b); var_dump($a); //print_r($b); $c=array_values(array_diff($a,$b)); $d=array_values(array_diff($b,$a)); // var_dump($c); //var_dump($d); array_pop($c); foreach($c as &$v){ $v='..'; } var_dump($c); var_dump($d); $arr=array_merge($c,$d); var_dump($arr); $str=implode("/",$arr); echo $str; } 客户端及服务器端IP $_SERVER['REMOTE_ADDR'] :客户端IP,也有可能是代理IP $_SERVER['SERVER_ADDR']:服务器端的ip地址