» »

[PHP] Drevesna struktura kode

[PHP] Drevesna struktura kode

krofko ::

Zanima me, ali obstaja kakšen program, ki bi izdelal povezavo med posameznimi datotekami s kodo. Ti mu podaš začetno datoteko, on pa bi preko stavkov require, include in podobnimi znal povezati na naslednjo datoteko in iz te spet naprej. Upam, da sem napisal dovolj razumljivo.
Zanima me tudi, kakšno besedno zvezo bi uporabil v Googlu za iskanje tega programa. Dosedaj sem poskušal s code document in podobnimi, pa ni bilo preveč uspeha.

snow ::

V php-ju narejena zadeva (rabim za urejanje ene večjezične strani.. pobiral dva linka). Išče pa samo po include... verjetno ni težko dodat require pa _once variant.

Aja pa mal je treba še tole poštimat če maš slučajno kje kakšno ciklično zadevo kot: a.php includa b.php ta pa a.php... :\ Sam tist array $files je treba preverit.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>LOAD INCLUDES</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
</head>
<body>
<?php
ob_start();

function shift($n)
{
	$r='';
	for($i=0;$i<$n;$i++)
	{
		$r.= '&nbsp;&nbsp;&nbsp;';
	}
	return $r;
}

function get_includes($file,$level=1)
{
	if(file_exists($file))
	{
		$subject = file_get_contents($file);
		$pattern = '/\Winclude.*\((.*?)\)/';
		preg_match_all($pattern, $subject, $matches,PREG_PATTERN_ORDER);
		if(sizeof($matches[1])>0)
		{
			foreach($matches[1] as $v)
			{
				$v=trim($v);
				$v=substr($v,1,-1);
				$v=trim($v);
				if((!isset($files[$v])) && (substr($v,-4)=='.php'))
				{
					echo shift($level);
					if(file_exists($v))
					{
						echo "<b>$v</b>";
					}
					else
					{
						echo $v;
					}
					echo "\r\n";
					get_includes($v,$level+1);
				}
				$files[$v]=true;
			}
		}
	}
}

$files = array();
$file = 'index.php';

get_includes($file);
$content = ob_get_contents();
ob_end_clean();
$content = nl2br($content);
echo $content;
?>
</body>
</html>
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Zgodovina sprememb…

  • spremenilo: snow ()

krofko ::

Zaenkrat hvala lepa.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[php] php, mysql in transakcije

Oddelek: Izdelava spletišč
101004 (848) Zzzzzzz
»

Grafična kartica

Oddelek: Kaj kupiti
321674 (1136) pingec
»

kazaa mp3 download problem!!

Oddelek: Zvok in slika
111159 (977) vasquez
»

HTML 4.01 standard in NS-Mozilla ter težave

Oddelek: Izdelava spletišč
401557 (1091) Zzzzzzz
»

PHP: prebere vse "spremenljivke" in jih poslje naprej

Oddelek: Izdelava spletišč
6878 (774) matic

Več podobnih tem