NetAktiv
Senior HTML'ler
Hallo,
manchmal ist es beim Testen nervig, wenn man beispielsweise nur eine Syntaxprüfung machen will und deswegen ein PHP-Script extra auf den Server laden und aufrufen muss. Ich habe mir ein kleine PHP-Seite geschrieben, mit der ich PHP im Browser eingeben und auf dem Server ausführen kann. Eventuell finden es andere ja auch nützlich und daher stelle ich das Script hier bereit.
Achtung: Klar, mit Zugriff auf das Script hat man Zugriff auf alles mit den Privilegien des Web Servers, also nur in absolut gesicherten Verzeichnissen bereitstellen. Ich übernehme keinerlei Support oder Verantwortung.
Grüße,
Rainer
	
	
	
		
				
			manchmal ist es beim Testen nervig, wenn man beispielsweise nur eine Syntaxprüfung machen will und deswegen ein PHP-Script extra auf den Server laden und aufrufen muss. Ich habe mir ein kleine PHP-Seite geschrieben, mit der ich PHP im Browser eingeben und auf dem Server ausführen kann. Eventuell finden es andere ja auch nützlich und daher stelle ich das Script hier bereit.
Achtung: Klar, mit Zugriff auf das Script hat man Zugriff auf alles mit den Privilegien des Web Servers, also nur in absolut gesicherten Verzeichnissen bereitstellen. Ich übernehme keinerlei Support oder Verantwortung.
Grüße,
Rainer
		PHP:
	
	<?php
 
    //Eingabe prüfen und globale Variable initilisieren
    $g_sPhpScript          = (isset($_REQUEST["test_menu_inp"]) ? stripcslashes($_REQUEST["test_menu_inp"]) : "");
    $g_sResDivDisplayStyle = ($g_sPhpScript) ? "block" : "none";
    $g_sTmpDir             = "./tmp";  //Unterverzeichnis für temporäre Dateien
   
    //Hauptprogramm definieren, Ausgabe erfolt im Result-Div
    function main() {
       
        //Ohne Input keine Aktion
        global $g_sPhpScript, $g_sTmpDir;
        if (!$g_sPhpScript) return;
       
        //Optional Unterverzeichnis erstellen, falls es nicht existiert
        if ((!is_dir($g_sTmpDir)) && mkdir($g_sTmpDir)) echo "Verzeichnis $g_sTmpDir wurde neu erstellt<br/>";
        //Input analysieren und Output vorbereiten
        $bDeleteScript = (isset($_REQUEST["cbx_delete"]) ? $_REQUEST["cbx_delete"] : false);
        $sDeleteSpan   = "test_result_" . (($bDeleteScript) ? "green" : "red");       
        $scriptName    = tempnam($g_sTmpDir, "server_php_tmp_");
       
        //Temporäre Script Datei erstellen
        $fp = fopen($scriptName, "w");
        fwrite($fp, "<?php \n" . $g_sPhpScript . "\n?>");
        fclose($fp);
        //Script ausführen und Ergebnis ausgeben
        echo "<span class='test_result_red'>Ergebnis des Scripts $scriptName:</span><br/><br/>";
        require($scriptName);
        echo "<br/><br/><span class='" . $sDeleteSpan . "'>Script wurde " . (($bDeleteScript) ? "" : "nicht ") .  "gelöscht!</span>";
       
        //Optional temporäre Script Datei erstellen löschen
        if ($bDeleteScript) unlink($scriptName);
    }
?>
<!DOCTYPE html>
<html>
<head>
    <title>PHP Server Kommandos</title>
    <meta charset="utf-8">
    <style type="text/css">
        body { font-family: sans-serif; }
        .button { width: 120px; margin-top:10px}
        .copyright { margin: 0 auto; width:300px; }
        .clear  { clear:both; }
        #test_data   { width: 800px; margin:0 auto; }
       
        #test_menu_inp { width:450px; height: 200px; }
        #test_menu_form { float:left; width:450px; }
        #test_menu_text { float:left; width:300px; font-size:11pt; padding-right:15px}
       
        .test_result_red   { color:red; font-weight:bold; font-size:larger; } /*span als head im test_result_text*/
        .test_result_green { color:green; font-weight:bold; font-size:larger; } /*span als head im test_result_text*/
        #test_result_text { width:780px; background-color:black; color:white; font-style:monospace;
                            margin-top: 20px; padding:8px; display:none;
                            overflow: scroll; max-height: 600px; white-space:pre-line; font-size:10pt}
       
    </style>
    <script type="text/javascript">
        var g_iSampleNr = 0;
        function makeSample() {
            try {
                ++g_iSampleNr;
                var sSample  = "";
                sSample += "echo 'Beispiel Nummer " + g_iSampleNr + " Array füllen<br/>';\n";
                sSample += "date_default_timezone_set('Europe/Berlin');\n";
                sSample += "$myArray = array();\n";
                sSample += "$myArray['test_text'] = 'Beispiel Text';\n";
                sSample += "$myArray['test_zeit'] = date('d.m.Y H:i:s');\n";
                sSample += "$myArray['test_nr'] = " + g_iSampleNr + ";\n";
                sSample += "echo 'Nun Array mit var_dump ausgeben<br/>';\n";           
                sSample += "var_dump($myArray);\n";           
                document.getElementById('test_menu_inp').value = sSample;
            } catch(e) {
                alert(e);
            }
        }
        function clearInput() {
            try {
                document.getElementById('test_menu_inp').value = '';
                document.getElementById('test_result_text').style.display = 'none';
            } catch(e) {
                alert(e);
            }
        }       
    </script>
</head>
<body >
<div id="test_data">
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <div id="test_menu">  
        <div id="test_menu_text">
            Man kann hier ein PHP Script eingeben und auf dem Server ausführen lassen. Der Script-Text
            wird auf den Server übertragen und in eine temporäre Datei geschrieben. Das Script wird dann
            ausgeführt und optional gelöscht. Das Ergebnis wird hier angezeigt.  
            <br/>     
            <input type="button" value=" Löschen"  name="btn_reset"  class="button" onclick="javascript:clearInput();">
              
            <input type="checkbox" name="cbx_delete" checked="checked" value="1"> <span style="font-size:smaller">Scriptdatei löschen<span>
            <br/>
            <input type="button" value=" Beispiel" name="btn_example" class="button" onclick="javascript:makeSample();">
              
            <input type="submit" value="Ausführen" name="btn_submit"  class="button">      
        </div>
        <div id="test_menu_form">
            <textarea rows="5" required placeholder="hier das PHP Script eingeben" id="test_menu_inp" name="test_menu_inp"><?php echo $g_sPhpScript; ?></textarea>
        </div> 
    </div>
    </form>
    <div class="clear"></div>
    <div class="codebox" id="test_result_text" style='display:<?php echo $g_sResDivDisplayStyle; ?>;'><?php main(); ?></div>
    <hr>
    <div class="copyright">Copyright 2015 NetAktiv, Neufahrn</div>
</div> <!-- end div id=test_data -->
</body>
</html> 
	 
 
		 
 
		 
 
		 
 
		