Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if(!isset($_POST[ "texto" ] )) :
- ?>
- <form method=post>
- <textarea name="texto" style="width: 752px;height: 419px;" ></textarea>
- <input type=submit name=submit value=Compilar></input>
- </form>
- <?php
- exit;
- endif;
- $obj = new compiladorOnline();
- $obj->coletarDados ($_POST["texto"]) ;
- $obj->fazerNomes("scripts") ;
- $obj->executarCompilacao();
- $obj->baixarCompilado();
- class compiladorOnline
- {
- private $amxNome ;
- private $pwnNome ;
- private $pwnCode ;
- function coletarDados ($codigo) {
- if(!strlen($codigo)) {
- die("Erro ao pegar codigo");
- }
- $this->pwnCode = $codigo;
- }
- function fazerNomes ($pasta) {
- $aleatoria = $pasta . "/". substr(str_shuffle("abcdefghijklmnopqrstuvwxyz"), 0, 10);
- $this->amxNome = $aleatoria . ".amx";
- $this->pwnNome = $aleatoria . ".pwn";
- return true;
- }
- function executarCompilacao() {
- file_put_contents( $this->pwnNome, $this->pwnCode);
- ob_start();
- passthru("pawncc.exe -c \"" . $this->pwnNome ."\"");
- ob_end_clean();
- unlink( $this->pwnNome );
- return true;
- }
- function baixarCompilado() {
- $amxArquivo = $this->amxNome;
- if(!file_exists( $amxArquivo )) {
- die("Hove um erro na compilação. Impossível baixar <b> </b>");
- }
- $fp = fopen($amxArquivo, 'rb');
- header('Content-Disposition: attachment; filename='.$amxArquivo);
- header("Content-Type: amx");
- header("Content-Length: ".filesize($amxArquivo));
- fpassthru($fp);
- fclose($fp);
- unlink($amxArquivo);
- return true;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement