Roberto Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 Begynner å se bra ut dette, altså. Men jeg savner en bitteliten ting - jada, details details - og det er at det burde være en liten "forsinkelse" i det teksten dukker opp på skjermen. Altså når du jobber i et shell-vindu kommer ikke teksten opp med én gang - linjene dukker opp på skjermen etter hvert. Hva med å prøve å legge inn en liten sånn effekt? Til de som ikke skjønner hva jeg mener så fyr opp et MS-DOS vindu (regner med at dere bruker Windows) og skriv inn f.eks. "ipconfig /all" eller "dir". Lenke til kommentar
KiKKA Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 Begynner å se bra ut dette, altså. Men jeg savner en bitteliten ting - jada, details details - og det er at det burde være en liten "forsinkelse" i det teksten dukker opp på skjermen. Altså når du jobber i et shell-vindu kommer ikke teksten opp med én gang - linjene dukker opp på skjermen etter hvert. Hva med å prøve å legge inn en liten sånn effekt? Til de som ikke skjønner hva jeg mener så fyr opp et MS-DOS vindu (regner med at dere bruker Windows) og skriv inn f.eks. "ipconfig /all" eller "dir". 5408154[/snapback] Skjønner hva du mener, men vet ikke helt hvordan det skal utføres. Må vel ta meg en google når jeg kommer hjem fra skolen antageligvis. Hvis ikke noen av dere vet hvordan det gjøres? Lenke til kommentar
MC2 Skrevet 12. januar 2006 Del Skrevet 12. januar 2006 (endret) Vel, siden jeg både har tenkt på dette veldig lenge siden (men glemt det en stund) så har jeg utviklet min egen lille kommandolinje script. Tanken bak det var at nye funksjoner skulle kunne bli lagt til veldig enkelt bare ved å opprette en fil og en mappe. Også så skulle funksjonene kunne ha innstillinger. Prøvde å gjøre den så lik linux kommandolinja som mulig. Har hittil bare lagd 4 funksjoner: ls (lister opp alle filene og mappene i mappa "pages/". skal videreutvikles til å virke med andre mapper) ls -1 (samme som ls bare at den viser alt i en kolonne) clear (sletter cmd history) echo Hello World! (skriver rett og slett ut det du har etter echo) calc 1+1 (akkurat nå så kan den bare regne ut addisjon) sneak preview! (anbefalt å skrive 'clear' etter en stund.. ellers har ting en tendens å gå litt tregt) Dette scriptet er i BETA versjon, og dersom noen vil være med og videre utvikle det blir jeg glad. Å lage funksjoner er hvor enkelt som bare det. source: index.php <?php $cmd_org = htmlspecialchars($_POST['cmd']); $cmd_old = $_POST['cmd_old']; if(strpos($cmd_org," ") == true) { $cmd_tmp = explode(" ",$cmd_org); $cmd_att = $cmd_tmp[1]; $cmd_att2 = substr(strstr(substr(strstr($cmd_org," "),(count($cmd_att)))," "),1); $cmd_main = $cmd_tmp[0]; } else { $cmd_main = $cmd_org; }; $cmd_tat = $cmd_att." ".$cmd_att2; // dirs and files $bin = "bin/"; $cmd_end = ".php"; $cmd_run = "_run"; // errors $error['WARNING: no bin dir'] = "WARNING: server side. the bin dir does not exist!"; $error['WARNING: incomplete cmd'] = "WARNING: server side. incomplete command!"; $error['WARNING: internal script error'] = "WARNING: server side. internal script error. please contact webmaster."; $error['WARNING: function missing error msg'] = "WARNING: server side. function missing error message. please contact webmaster."; $error['cmd not found'] = "bash: ".$cmd_main.": command not found"; // default $site_name = $_SERVER['HTTP_HOST']; $ip = $_SERVER['REMOTE_ADDR']; $form_open = "<form action=\"".$PHP_SELF."\" method=\"post\">"; $form_close = "</form>"; $default_out = "<strong>".$ip."@".$site_name.":~> </strong>"; $type = '<input type="text" size="70" name="cmd" alt="cmd" />'; $cmd_this = "<br /><strong>".$ip."@".$site_name.":~> </strong>".$cmd_org; // tmpl require_once("layout_begin.php"); $run = false; // is cmd_main set? if($cmd_main == "") { // no cmd, do nothing echo "<pre>"; echo $cmd_old.$cmd_this; echo $form_open; echo $default_out; echo '<input type="hidden" name="cmd_old" value="'.$cmd_old.$cmd_this.'" />'; echo $type; echo $form_close; echo "</pre>"; } else { // does bin exist? if(!file_exists($bin)) { // the bin dir does not exist, die $output = $error['WARNING: no bin dir']; } else { // does run dir exist? if(!file_exists($bin.$cmd_main)) { // there is no dir for this cmd, die $output = $error['cmd not found']; } else { // does the _run.php file exist? if(!file_exists($bin.$cmd_main."/".$cmd_run.$cmd_end)) { // there is no _run.php, die $output = $error['WARNING: incomplete cmd']; } else { if(!isset($cmd_att)) { // there is no att, run the cmd, then die $run = true; include($bin.$cmd_main."/".$cmd_run.$cmd_end); } else { // does the att file exist? if(!file_exists($bin.$cmd_main."/".$cmd_att.$cmd_end)) { // there is no att file, die // include the _run.php file $run = false; include($bin.$cmd_main."/".$cmd_run.$cmd_end); if($allowatt == true) { $run = true; include($bin.$cmd_main."/".$cmd_run.$cmd_end); } else { if(isset($error['no att']) == false) { $output = $error['WARNING: function missing error msg']; } else { $output = $error['no att']; }; }; } else { // does the cmd and att exist? if(file_exists($bin.$cmd_main."/".$cmd_att.$cmd_end) == true) { // exists, run, then die $run = true; include($bin.$cmd_main."/".$cmd_att.$cmd_end); } else { // something else happened $output = $error['WARNING: internal script error']; }; }; }; }; }; }; if(isset($output) !== false) { $output = "<br />".$output; }; echo "<pre>"; echo $cmd_old.$cmd_this; echo stripslashes($output); echo $form_open; echo $default_out; echo '<input type="hidden" name="cmd_old" value="'.$cmd_old.$cmd_this.$output.'" />'; echo $type; echo $form_close; echo "</pre>"; }; // tmpl require_once("layout_end.php"); ?> source: bin/ls/_run.php <?php $allowatt = true; $error['no such'] = "/".$bin.$cmd_main.": ".$cmd_tat.": No such directory"; if($run !== false) { function scandir($input,$input2) { $input = opendir($input); while (false !== ($filename = readdir($input))) { $output[] = $filename; }; if($input2 == "1") { rsort($output); } else { sort($output); }; return $output; }; $defdir = "pages/"; if(isset($cmd_tat) == false || $cmd_tat == "" || $cmd_tat == " " || empty($cmd_tat) == true) { $dird = $defdir; } elseif(file_exists($dird) == true) { $dird = $cmd_tat; } else { $output = $error['no such']; }; $diro = scandir($dird,0); $dirc = count($diro); for($c1 = 0; $c1 < $dirc; $c1++) { $output = $output.' '.$diro[$c1].' '; }; }; ?> source: bin/ls/-1.php <?php function scandir($input,$input2) { $input = opendir($input); while (false !== ($filename = readdir($input))) { $output[] = $filename; }; if($input2 == "1") { rsort($output); } else { sort($output); }; return $output; }; $error['no such'] = "/".$bin.$cmd_main.": ".$cmd_att2.": No such directory"; $defdir = "pages/"; if(isset($cmd_att2) == false || $cmd_att2 == "" || $cmd_att2 == " " || empty($cmd_att2) == true) { $dird = $defdir; } elseif(file_exists($dird) == true) { $dird = $cmd_att2; } else { $output = $error['no such']; }; $diro = scandir($dird,0); $dirc = count($diro); for($c1 = 0; $c1 < $dirc; $c1++) { if(is_dir($diro[$c1]) == true) { $diro[$c1] = '<span style=color:blue;>'.$diro[$c1].'</span>'; $output = $output.'<br />'.$diro[$c1]; } elseif(is_file($diro[$c1]) == true) { $diro[$c1] = '<span style=color:green;>'.$diro[$c1].'</span>'; $output = $output.'<br />'.$diro[$c1]; } else { $diro[$c1] = $diro[$c1]; $output = $output.'<br />'.$diro[$c1]; }; }; ?> source: bin/echo/_run.php <?php $allowatt = true; if($run != false) { $output = $cmd_tat; }; ?> source: bin/clear/_run.php <?php $allowatt = false; $error['no att'] = "/".$bin.$cmd_main.": invalid option -- ".$cmd_att; if($run != false) { unset($cmd_old); }; ?> source: bin/hello/_run.php <?php $allowatt = false; $error['no att'] = "/".$bin.$cmd_main.": invalid option -- ".$cmd_att; if($run !== false) { $o = rand(0,4); $hello[] = "Hello"; $hello[] = "Hello World!"; $hello[] = "What are you doing in my room?"; $hello[] = "Greetings earthling"; $hello[] = "I do <u>not</u> come in peace!"; $output = $hello[$o]; }; ?> (Dere får lov å bruke koden akkurat som dere vil.) Har bare brukt noen timer på dette, så det er sikkert noen feil. Dette scriptet er forsatt i BETA og ikke alt funker helt som det skal enda, men dersom noen har lyst på en slik kommando linje på hjemmesida si, så bare bli med og videreutvikle det! Post gjerne spørsmål, kommentarer og ideer! Endret 12. januar 2006 av MC2 Lenke til kommentar
Sycosis Skrevet 13. januar 2006 Forfatter Del Skrevet 13. januar 2006 (endret) Det hadde vært tøft å få dette i en ramme som er en gammel commodore=P jeg arbeidet med det for et par dager tilbake, men fikk det ikke ordentlig til. BTW, bra jobba! Endret 13. januar 2006 av nikkern Lenke til kommentar
KiKKA Skrevet 13. januar 2006 Del Skrevet 13. januar 2006 Oi! Ser meget bra ut MC2. Føler meg litt overgådd her. Keep up the good work. Finner sikkert en med-scripter i PHP-seksjonen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå