php实例:
批量删除文件夹,包括子文件夹中的所有文件。
代码:
<?php
/**
* 批量删除文件夹(目录)
* edit: www.
*/
function deldir($dir)
{
$dh = opendir($dir);
while ($file = readdir($dh))
{
if ($file != "." && $file != "..")
{
$fullpath = $dir . "/" . $file;
if (!is_dir($fullpath))
{
unlink($fullpath);
} else
{
deldir($fullpath);
}
}
}
closedir($dh);
if (rmdir($dir))
{
return true;
} else
{
return false;
}
}
deldir(''F:/test/aaa''); // F:/test/aaa 待删除的文件夹
?>
您可能感兴趣的文章:
php删除目录及所有文件
php 目录遍历与删除的函数示例
php删除目录下N天前所有文件
php rmdir删除目录的三种方法
php目录遍历与删除的代码
删除指定文件夹中所有文件
删除多级目录的php自定义函数
php递归删除目录及多级子目录下所有文件
php递归删除目录
在php中,可变变量无需2次嵌套,一次即可执行!
例子:
花括号内直接就是phpinfo(),phpinfo函数是不会执行的!
$a = "${phpinfo()}";
?>
以下的几种例子,phpinfo函数执行了!
1,花括号内第一个字符是空格
$a = "${ phpinfo()}";
?>
2,花括号内第一个字符是tab
$a = "${ phpinfo()}";
?>
3,花括号内第一个字符串是注释
$a = "${/**/phpinfo()}";
?>
4,花括号内第一个字符是回车
$a = "${
phpinfo()}";
?>
5,花括号内第一个字符是@
$a = "${@phpinfo()}";
?>
说明:
花括号内第一个字符是空格,tab,注释,回车和@的五种情况你能想到什么,可变变量内的花括号就是再次解析语法,然后这个解析语法的关键条件是花括号内的第一个字符!
空格,tab,注释,回车是各种语法分析引擎中常见的分割字符,@是PHP语法的一个特殊的容错符号,所以可变变量内的花括号有这么一个规则,需要判断花括号内的内容是否为真正的代码,条件即是文本的第一个字符串是否为PHP语法解析引擎的分割字符和特殊的语法符号。
您可能感兴趣的文章:
深入PHP中的可变变量实例分析
1,php获取baidu搜索结果中的URL列表。
代码:
<?php
/*
* 获取百度搜索url
* edit: www.
*/
echo "Website: www.\r\n";
/*
搜索字符串示例:
[url]http://www.baidu.com/s?wd=test&pn=30&ie=utf-8&usm=2&rsv_page=1&rn=100[/url]
bs=test 搜索的词
ie=utf-8 页码编码
rn=100 每页显示条数
pn=30 搜索多少条 // ($page - 1) * 10;
*/
/********************
* $keywords 搜索字符
* $page 搜索多少页数据
* $num 每页显示条数
* $result 结果集
*
********************/
define("_RESULT",'baidu_result.txt');//保存文件名
$result = array();//保存结果信息
function geturl(/blog_article/$keywords, $page, $num/index.html)
{
//$num=100; //每页显示多少条
//$page=10; //搜索多少页
$page=($page - 1) * $num;
//$page = ($page - 1) * 10;
$content = file_get_contents("http://www.baidu.com/s?wd=$keywords&pn=$page&ie=utf-8&usm=2&rsv_page=1&rn=$num");
$pregOne = "/<span\s*g\">(.*?)\/.*?<\/span>/";//得到URL数组
$fileContent = preg_replace(array("/\<b\>/","/\<\/b\>/"),"",$content); //去除 <b></b> 标签
preg_match_all($pregOne, $fileContent, $urlList); //开始正则
$list= $urlList[1]; //返回获取到的url
global $result;
foreach($list as $u)
{
if(!in_array(trim($u) , $result))
$result[] = trim($u);
}
}
echo "请输入搜索关键字: \r\n";
$baiduDORK = urlencode(fgets(STDIN));
//$baiduDORK='dedecms';//google关键字
echo "保存结果文件: [不输入即默认]: \r\n";
$f_result = trim(fgets(STDIN));
if($f_result==NULL){$f_result=_RESULT;}
if(file_exists("$f_result")){
@unlink("$f_result");
echo "结果文件$f_result 以存在,新结果文件将覆盖 ...\r\n";
}
$names=dirname(__FILE__).DIRECTORY_SEPARATOR.$f_result; //保存文件完整路径
$page = 10; //页数
$num = 100; //每页显示条数
for ($i=1; $i<=$page; $i++){
geturl(/blog_article/$baiduDORK, $i, $num, $result/index.html);
}
if(count($result)<1){
exit("[-] 数据获取失败!请检查网络环境!\r\n");
}
echo "获取".count($result)."条数据!\r\n";
if(file_put_contents("$names",join("\r\n",$result)))
{
echo "正在保存数据...\r\n";
usleep(100000);
echo "保存位置:\r\n". $names."\r\n\r\n";
}else{
exit("数据获取失败!请检查网络环境!\r\n");
}
?>
2,获取google搜索结果的Url列表。
代码:
<?php
echo "Website: www.\r\n";
//设置超时时间
set_time_limit(0);
error_reporting(E_ERROR);
define("_RESULT",'result.txt');
function geturl(/blog_article/$keywords, $page, $num/index.html)
{
$page = ($page - 1) * 10;
$content =
file_get_contents("http://www.google.com/search?sclient=psy-ab&hl=en&start=$page&source=hp&q=$keywords&pbx=1&oq=$keywords&num=$num&aq=f&aqi=g4"
);
$preg = '/<h3\s*\s*>.*/im';
preg_match_all($preg, $content, $m);
preg_match_all('/<a(.*?)>(.*?)/', $m[0][0], $ms);
$list = array();
foreach ($ms[1] as $link)
{
preg_match('/http:\/\/[a-zA-Z0-9._-]*/', $link, $matches);
if (!empty($matches[0]))
{
$list[] = $matches[0];
}
}
$list = array_unique($list);
return $list;
}
echo "Please Enter GoogleDork: \r\n";
$GOOGLEDORK = urlencode(fgets(STDIN));
echo "Result file [Enter for None]: \r\n";
$result = trim(fgets(STDIN));
if($result==NULL){$result=_RESULT;}
if(file_exists("$result")){
@unlink("$result");
echo "Clear Cache ...\r\n";
}
$page = 20;
$num = 100;
for ($i=1;$i<=$page;$i++)
{
$url = geturl(/blog_article/$GOOGLEDORK, $i, $num/index.html);
print_r('[+] Page: '.$i.' Results Count: '.count($url)."\r\n");
foreach ($url as $u)
{
#print_r($u."\r\n");
@$fp=@fopen('tmp','a');
@fwrite($fp,$u."\r\n");
@fclose($fp);
}
}
$new_filename="$result";
$file=file('tmp');
$array=preg_replace('/($\s*$)|(^\s*^)/m','',$file);
foreach ($array as $key=>$r){
$array[$key]=trim("$r");
}
$names=dirname(__FILE__).DIRECTORY_SEPARATOR.$new_filename;
$new_array=array_values()(array_unique($array));
if(file_put_contents("$new_filename",join("\r\n",$new_array)))
{
echo "Get Subdomain Success!\r\n\r\n";
usleep(100000);
echo "Save To:\r\n". $names."\r\n\r\n";
if(file_exists('tmp'))
{
@unlink('tmp');
echo "Clear Cache ...\r\n\r\n";
}
}else {
echo "\r\n[!] Failed! Connect Google Error!\r\n ";
echo "\r\n[-] Plase Proxy...\r\n";
}
exit;
?>