⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug.fun.php

📁 php最好的论坛程序! php最好的论坛程序! php最好的论坛程序!
💻 PHP
字号:
<?
function debugtools() {
	global $_COOKIE, $_SESSION, $_DCOOKIE, $_DCACHE, $_DSESSION, $_DCACHE, $_DPLUGIN, $sqldebug, $debuginfo, $sqlspenttimes;
	$table1 = "<table cellspacing=".INNERBORDERWIDTH." cellpadding=".TABLESPACE." width=".TABLEWIDTH." align=center class=tableborder><tr><td class=altbg2 style=\\\"font-size:12px;\\\">";
	$table2 = "</td></tr></table>";
	$sqldebuglist = $table1.preg_replace('/\r\n/', '', daddslashes($sqldebug, '"')).$table2;
	$dcookielist = $table1."<div style=\\\"border:1px soild black;background:#DDD\\\">&#36;_DCOOKIE</div><br>".preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r($_DCOOKIE, true), '"'));
	$dcookielist .= "<div style=\\\"border:1px soild black;background:#DDD\\\">&#36;_COOKIE</div><br>".preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r($_COOKIE, true), '"')).$table2;
	$includelist = $table1.preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r(get_included_files(), true), '"')).$table2;
	$settingslist = $table1."<div style=\\\"border:1px soild black;background:#DDD\\\">SETTIONS</div><br>".preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r($_DCACHE['settings'], true), '"')).$table2;
	$dsessionlist = $table1."<div style=\\\"border:1px soild black;background:#DDD\\\">&#36;_DSESSION</div><br>".preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r($_DSESSION, true), '"')).$table2;
	$dsessionlist .= $table1."<div style=\\\"border:1px soild black;background:#DDD\\\">&#36;_SESSION</div><br>".preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r($_SESSION, true), '"')).$table2;
	$dcachelist = $table1."<div style=\\\"border:1px soild black;background:#DDD\\\">&#36;_DCACHE</div><br>".preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r($_DCACHE, true), '"')).$table2;
	$dpluginlist = $table1."<div style=\\\"border:1px soild black;background:#DDD\\\">&#36;_DPLUGIN</div><br>".preg_replace(array('/\n/', '/\s/'), array('<br>', '&nbsp;'), daddslashes(print_r($_DPLUGIN, true), '"')).$table2;
	$debugwinenv = $table1."<ul><li>PHP版本: ".PHP_VERSION."</li><li>MYSQL版本: ".mysql_get_server_info()."</li></ul>".$table2;
	$debugwintools = $table1."<ul><li><a href=\\\"member.php?action=clearcookies\\\">[清除DCOOKIE]</li></ul>".$table2;

	$out  = "document.write(\"<div style=\\\"left:0px;top:0px;width:100%;z-index:99\\\">\");\r\n";
	$out .= "document.write(\"<table cellspacing=\\\"".INNERBORDERWIDTH."\\\" cellpadding=\\\"".TABLESPACE."\\\" width=\\\"".TABLEWIDTH."\\\" align=\\\"center\\\" class=\\\"tableborder\\\">\");\r\n";
	$out .= "document.write(\"<tr class=\\\"header\\\"><td colspan=\\\"3\\\">\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('')\\\">[关闭]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwinquery')\\\"> | [查询 ".$debuginfo['queries']." 次]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwininclude')\\\"> | [引用".count(get_included_files())." 个]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwindcookie')\\\"> | [DCOOKIE]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwindsession')\\\"> | [DSESSION]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwincache')\\\"> | [DCACHE]</span>\");\r\n";
	//$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwinplugin')\\\"> | [DPLUGIN]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwinsettings')\\\"> | [settings]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwinenv')\\\"> | [环境]</span>\");\r\n";
	$out .= "document.write(\"<span style=\\\"cursor:pointer;\\\" onclick=\\\"debugdisplay('debugwintools')\\\"> | [工具]</span>&nbsp;&nbsp;\");\r\n";
	foreach($sqlspenttimes as $v) {
		$out .="document.write(\"{$comma}{$v}\");";
		$comma = " / ";
	}
	$out .= "document.write(\" 毫秒</td></tr></table>\");\r\n";

	$out .= "document.write(\"<div id=\\\"debugwinquery\\\" style=\\\"display:block;background:#eee\\\">".$sqldebuglist."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwindcookie\\\" style=\\\"display:none;background:#eee\\\">".$dcookielist."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwindsession\\\" style=\\\"display:none;background:#eee\\\">".$dsessionlist."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwincache\\\" style=\\\"display:none;background:#eee\\\">".$dcachelist."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwinplugin\\\" style=\\\"display:none;background:#eee\\\">".$dpluginlist."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwininclude\\\" style=\\\"display:none;background:#eee\\\">".$includelist."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwinsettings\\\" style=\\\"display:none;background:#eee\\\">".$settingslist."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwinenv\\\" style=\\\"display:none;background:#eee\\\">".$debugwinenv."</div>\");\r\n";
	$out .= "document.write(\"<div id=\\\"debugwintools\\\" style=\\\"display:none;background:#eee\\\">".$debugwintools."</div>\");\r\n";


	$out .= "var debugwinarray = new Array(\r\n";
	$out .= "'debugwinquery', 'debugwininclude', 'debugwindcookie'\r\n";
	$out .= ", 'debugwindsession', 'debugwincache', 'debugwinplugin'\r\n";
	$out .= ", 'debugwinuser', 'debugwinpower', 'debugwingroup'\r\n";
	$out .= ", 'debugwinsettings', 'debugwinenv', 'debugwintools'\r\n";
	$out .= ");\r\n";
	$out .= "function debugdisplay(debugwinid) {\r\n";
	$out .= "	for(i = 0; i < debugwinarray.length; i++) {\r\n";
	$out .= "		if(did = document.getElementById(debugwinarray[i])) {\r\n";
	$out .= "			if(debugwinid == debugwinarray[i]) {\r\n";
	$out .= "				did.style.display = did.style.display == '' ? 'none' : '';		\r\n";
	$out .= "			}else{\r\n";
	$out .= "				did.style.display = 'none';	\r\n";
	$out .= "			}\r\n";
	$out .= "		}\r\n";
	$out .= "	}\r\n";
	$out .= "}\r\n";


	$fp = fopen(DISCUZ_ROOT.'include/debug.js', 'w');
	fwrite($fp, $out, strlen($out));
	fclose($fp);
}



function sqlshowformat($sql) {
	$sql = " $sql ";
	$tab = "        ";
	if(strtolower(substr($sql, 0, 7)) == ' select') {

		$strs = spliti("FROM", $sql);
		$select = $strs[0];
		$strs = spliti("WHERE", ' FROM '.$strs[1]);
		$from = $strs[0];
		$where = empty($strs[1]) ? '' : ' WHERE '.$strs[1];

		$commas = 0;
		$str2 = '';
		for($i = 0; $i < strlen($select); $i++) {
			if($select{$i} == ',') {
				if((++$commas % 6 ) == 0) {
					$str2 .="<br>$tab,";
					continue;
				}
			}
			$str2 .=$select{$i};
		}

		$select = $str2;
		$sql = $select.$from.$where;

	} elseif(strtolower(substr($sql, 0, 7)) == ' update') {

		$strs = spliti("SET", $sql);
		$update = $strs[0];
		$strs = spliti("WHERE", ' SET '.$strs[1]);
		$set = $strs[0];
		$where = empty($strs[1]) ? '' : ' WHERE '.$strs[1];

		$commas = 0;
		$str2 = '';
		for($i = 0; $i < strlen($set); $i++) {
			if($set{$i} == ',') {
				if(( ++$commas % 6 ) == 0 ) {
					$str2 .="<br>$tab,";
					continue;
				}
			}
			$str2 .=$set{$i};
		}
		$set = $str2;

		$sql = htmlspecialchars($update.$set.$where);

	}

	$p = array(
		'/&nbsp;/'
		, '/ (SELECT|FROM|WHERE|UPDATE|SET|ORDER BY|GROUP BY) /i'
		, '/ (AS|DESC|LIMIT|AND|OR) /i'
		, '/[\r\n]+/'
		, '/[\x00-\x09]+/'
		, '/ (LEFT JOIN) /i'

	);

	$r = array(
		' '
		, "<br><font color=green> <b>\\1</b>$tab</font>"
		, '<font color=green><b> \\1 </b></font>'
		, ''
		, ' '
		, "<br><font color=green>$tab<b>\\1</b> </font>"
	);

	$sql = preg_replace($p, $r, $sql);

	return $sql;
}
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -