#!usr/bin/php 1) $port = trim($argv[1]); if($argc > 2) $interface = trim($argv[2]); } echo("\n\tStarting Harvie's HTTPd at:\n\ttcp://$interface:$port\n\n"); //system("title Harvie's HTTPd at tcp://$interface:$port"); //Microsoft Windows only set_time_limit(0); $sss = stream_socket_server("tcp://$interface:$port"); while(1) { @$sfp = stream_socket_accept($sss); if(!$sfp) continue; $loop = 1; while($sfp && !@feof($sfp) && $loop) { $line = fgets($sfp); //echo($line); if(eregi("(GET|POST)", $line)) { $line = trim($line); //echo($line); $line = explode(" ", $line); $line[1] = urldecode($line[1]); if($line[1] == "/") { $line[1] = $index; } else { $line[1] = substr($line[1], 1); } if(is_file($line[1])) { //200 OK fwrite($sfp, $okheader); echo("200 ".$line[1]."\n"); $fp = fopen($line[1], "rb"); while( fwrite($sfp, fgets($fp)) ); @fclose($sfp); } else { //404 NOT FOUND echo("404 ".$line[1]."\n"); fwrite($sfp, $badheader); fwrite($sfp, $err404); @fclose($sfp); } $loop = 0; } } @fclose($sfp); } ?>