Exit code generator
Beschreibung:
Ein PHP-Script das sich durch den Verzeichnisbaum Eurer Website arbeitet und nach exit Codes die nicht 0 sind sucht.
Sobald es einen exit Code Findet der nicht "exit(0)" ist ändert er die Nummer des exits durch eine Fortlaufende Zahl.
z.B.:
/ordner/index.php
exit(0);
exit (0815);
/ordner/ordner/xyz.php
exit(42);
exit(0);
exit(007);
Die exit codes werden wie folgt vom Script geändert
exit(0) bleibt exit(0)
exit(0815) wird exit(1)
exit(42) wird exit(2)
exit(0) bleibt exit(0)
exit(007) wird exit(3);
backend/exitCodeGenerator.php
Ein PHP-Script das sich durch den Verzeichnisbaum Eurer Website arbeitet und nach exit Codes die nicht 0 sind sucht.
Sobald es einen exit Code Findet der nicht "exit(0)" ist ändert er die Nummer des exits durch eine Fortlaufende Zahl.
z.B.:
/ordner/index.php
exit(0);
exit (0815);
/ordner/ordner/xyz.php
exit(42);
exit(0);
exit(007);
Die exit codes werden wie folgt vom Script geändert
exit(0) bleibt exit(0)
exit(0815) wird exit(1)
exit(42) wird exit(2)
exit(0) bleibt exit(0)
exit(007) wird exit(3);
backend/exitCodeGenerator.php
<?php
//Dieses Script ist aus mehreren Quellen zusammen geschustert und sollte deaktiviert werden solange man es nicht benötigt wird.
//Deaktivieren mit exit (0);
//exit (0);
if (!isset($_GET['answer'])){
echo '
<html>
<head>
<title>exitCodeGenerator</title>
</head>
<body>
<div style="
text-align: center;
margin-left: auto;
margin-right: auto;
margin-top: 10%;
">
<h1>exitCodeGenerator</h1>
<p>Läuft durch alle Dateien und nummeriert alle exit(?) die nicht exit(0) sind durch (vergibt exit Nummern)</p>
<a href="/backend/exitCodeGenerator.php?answer=run">STARTEN</a>
</div>
</body>
</html>
';
exit (0);
}
if ($_GET['answer'] == 'run') {
if (ob_get_level() == 0) ob_start();
$counter = 1;
function replace_with_count($matches) {
global $counter;
$result = "exit ($counter)";
$counter++;
return $result;
}
echo '<html><head><title>exitCodeGenerator</title></head><body style="background-color: Lavender">';
//Search for all files that match .* or *
//Author: mkas at destiny dot lt
//Website: http://php.net/manual/de/function.glob.php
$path = '*';
while(count($path) != 0) {
$v = array_shift($path);
foreach(glob($v) as $item) {
if (is_dir($item)) {
$path = $item . '/*';
} elseif (is_file($item)) {
//prüfen ob es eine php ist
if ( substr("$item", -4) == '.php' ) {
//exitCodeGenerator.php ausschliesen
if ( !(substr("$item", -21) == 'exitCodeGenerator.php') ) {
if ($data = file_get_contents("$item")) {
$replaced = preg_replace_callback('/exit\s*\(\s*\b0*[1-9]+0*+\b\s*\)/im', 'replace_with_count', "$data");
//Datei Schreiben
if (!$datei = fopen($item.'.swap',"w")){
echo "<p>Konnte \"$item.swap\" nicht erstellen</p>";
exit (0);
}
if (!fwrite($datei, $replaced)){
echo "<p>Kann nicht in die Datei \"$item.swap\" schreiben</p>";
exit (0);
}
echo "<p>\"$item.swap\" wurde geschrieben</p>";
fclose($datei);
//Original Datei löschen
if (!unlink($item)){
echo "<p>Kann die Datei \"$item\" nicht löschen</p>";
exit (0);
}
echo "<p>Datei \"$item\" wurde gelöscht</p>";
//.swap umbenennen
if (!rename($item.'.swap', $item)){
echo "<p>Konnte \"$item.swap\" nicht in \"$item\" umbenennen</p>";
exit (0);
}
echo "<p>Konnte \"$item.swap\" in \"$item\" umbenennen</p>";
echo "<h1>$item</h1><xmp style=\"border: 1px solid black; background-color: #ffffff;\">";
echo $replaced;
echo "</xmp>";
ob_flush();
flush();
} else {
echo "<h2>Konnte \"$item\" nicht zum lesen öffnen</h2>";
exit (0);
}
}
}
}
}
}
ob_end_flush();
echo '</body></html>';
}
?>
Please also mark the comments that contributed to the solution of the article
Content-ID: 360942
Url: https://administrator.de/contentid/360942
Printed on: December 10, 2024 at 14:12 o'clock
3 Comments
Latest comment
Was das jetzt aber bringen soll erschließt sich mir nicht so ganz.
Ganz im Gegenteil, wenn die Scripte Abhängigkeiten untereinander haben, die Exit Codes auswerten und auf bestimmte Codes angewiesen sind, zerstört einem das das ganze Projekt.
Ganz im Gegenteil, wenn die Scripte Abhängigkeiten untereinander haben, die Exit Codes auswerten und auf bestimmte Codes angewiesen sind, zerstört einem das das ganze Projekt.
Hallo,
Wobei sich just in diesem Moment fuer mich die Frage stellt, warum Du diesen "dreckigen" Code ueberhaupt anbietest wo ihn doch eigentlich keiner ausser Dir gebrauchen kann.
Fuer mich sind definierte Exit-Codes nicht gerade unwichtig weil Aufrufe der Folgeseiten/Scripte davon abhaengig sind oder sein koennen.
Egal. Vielleicht gibt es ja jemanden, der Deinen Code verwenden kann.
Danke.
BFF
Dieses Script ist aus mehreren Quellen zusammen geschustert und sollte
deaktiviert werden solange man es nicht benötigt wird.
deaktiviert werden solange man es nicht benötigt wird.
P.S.: Der Code ist nicht gerade übersichtlich und für meine Verhältnisse ziemlich dreckig
aber so ist es manchmal wenn man nur schnell ein Provisorium bastelt das zu einer
hilfreichen Dauerlösung wird.
aber so ist es manchmal wenn man nur schnell ein Provisorium bastelt das zu einer
hilfreichen Dauerlösung wird.
Wobei sich just in diesem Moment fuer mich die Frage stellt, warum Du diesen "dreckigen" Code ueberhaupt anbietest wo ihn doch eigentlich keiner ausser Dir gebrauchen kann.
Fuer mich sind definierte Exit-Codes nicht gerade unwichtig weil Aufrufe der Folgeseiten/Scripte davon abhaengig sind oder sein koennen.
Egal. Vielleicht gibt es ja jemanden, der Deinen Code verwenden kann.
Danke.
BFF