php ---- 文件遍历

转自 RIPS ---- [./lib/filer.php] -----sourceforge.net/projects/rips-scanner/

<?php
	// filetypes you want to search
        $FILETYPES = array(  
			// filetypes to scan
	                '.php',
			'.inc',
			'.phps',
			'.php4',
			'.php5',
			//'.html', 
			//'.htm', 
			//'.txt',
			'.phtml',
			'.tpl',
			'.cgi'
			);


	// get all php files from directory, including all subdirectories

	function read_recursiv($path, $scan_subdirs)
	{
		$result  = array();
		$handle  = opendir($path);
		if ($handle)
		{
			// readdir -- 此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。
			while (false !== ($file = readdir($handle)))
			{
				if ($file !== '.' && $file !== '..')
				{
					$name = $path . '/' . $file;
					if (is_dir($name) && $scan_subdirs)
					{
						$ar = read_recursiv($name, true);
						foreach ($ar as $value)
						{
							// string substr ( string $string , int $start [, int $length ] )
							// strrpos   ---- 计算指定字符串在目标字符串中最后一次出现的位置
							// in_array  ---- 
							if(in_array(substr($value, strrpos($value, ".")), $GLOBALS['FILETYPES']))
							{
								// Append the  filepath to the result array
								$result[] = $value;
							}

						}
					} else if (in_array(substr($name, strrpos($name, '.')), $GLOBALS['FILETYPES']))
					{
						$result[] = $name;
					}
				}
			}
		}
		closedir($handle);
		return $result;
	}

$files = (read_recursiv("/var/www/rips/",1));
foreach ($files as $file)
{
	echo $file."\n<br />";
}

?>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值