HJ's WebServer 0.3 ¶
- 마 는 물, 미 , 멀미디 , 모 능
- PHP 립를 (는 : html, htm, php)
- 디리명 index.html, index.htm, index.php
- 보 문 대 방 마놓 , 디리 는 만 보
To Do.. ¶
- GET Method Query String를 리.
- POST Method, COOKIE 등 데 리 면 더 .
¶
~php <? $index_file = array("index.html", "index.htm", "index.php"); $host = "IP 는 메 "; $port = 8080; set_time_limit(0); if(!function_exists("mime_content_type")) { function mime_content_type($f) { return exec(trim("file -bi ".escapeshellarg($f))); } } //echo str_repeat(" ",300); $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_bind($socket, $host, $port); socket_setopt($socket, SOL_SOCKET, SO_REUSEADDR, 1); socket_listen($socket); $i = 100; while($i--) { $client_socket = socket_accept($socket); $result = ""; while(false!==($read = socket_read($client_socket, 100, PHP_NORMAL_READ))) { echo "> ".$read; if(!$read = trim($read)) $cnt++; else $cnt=0; if($cnt==3) break; flush(); if(preg_match("/(GET|POST) (\/[^ \/]*) (HTTP\/[0-9]+.[0-9]+)/i", $read, $t)) { $file = "/home/kesarr".$t[2]; if(preg_match("/\/$/", $file)) { foreach($index_file as $idxf) { if(is_readable($file.$idxf)) { $file .= $idxf; break; } } } if(is_readable($file)) { $size = @getimagesize($file); if($size['mime']) $mime = $size['mime']; else $mime = mime_content_type($file); $res[] = "HTTP/1.1 200 OK"; $res[] = "Server: Kesarr's WebServer"; $res[] = "Connection: close"; $to_read = $file; } else { $res[] = "HTTP/1.1 404 Not Found"; $res[] = "Server: Kesarr's WebServer"; $res[] = "Content-Length: ".strlen(" ."); $res[] = "Connection: close"; $res[] = "Content-Type: $size[mime];charset=UTF-8;"; $res[] = ""; $res[] = " ."; } } if($read == "close") { break; } elseif($read == "a") { $result = $read; } elseif($read == "exit") { socket_close($client_socket); socket_close($socket); exit; } } if($res) { if($to_read) { if(preg_match("/\.(html|htm|php)$/", $to_read)) { $buffer = shell_exec(trim("php ".escapeshellarg($to_read))); $res[] = "Content-Length: ".strlen($buffer); $res[] = ""; $result = join("\r\n", $res); @socket_write($client_socket, $result); echo $result; @socket_send($client_socket, $buffer, strlen($buffer), 0); $buf = explode("\r\n\r\n", $buffer); echo $buf[0]."\r\n\r\nPHP Parse: "; } else { $res[] = "Content-Length: ".filesize($file); $res[] = "Content-Type: ".$mime; $res[] = ""; $res[] = ""; $result = join("\r\n", $res); @socket_write($client_socket, $result); echo $result; @socket_send($client_socket, $buffer, strlen($buffer), 0); if(preg_match("/^text\//", $mime)) { $fp = fopen($to_read, "r"); echo "ASCII Read: "; } else { $fp = fopen($to_read, "rb"); echo "Binary-safe Read: "; } while(!feof($fp)){ $buffer=fread($fp,128); @socket_send($client_socket, $buffer, strlen($buffer), 0); } fclose($fp); } echo $to_read; } else { $result = join("\r\n", $res); socket_write($client_socket, $result); echo $result; } echo "\r\n__EOF__\r\n\r\n"; flush(); } socket_close($client_socket); unset($res); unset($to_read); unset($result); } socket_close($socket); ?>
만들. . 부 먹 면 메 를 C Java 바는 . - eternalbleu
- PHP 면 립 밍 ? 런 느낌 PHP를 만, UI를 루만 런 면 대부 루 만들 . 느는 C++, Java, C# 민 C# 봤는데, C# 리 면 Windows Vista 봐 , C/C++ 더 대 명보. 는 '대량 데 ' ' 리' DB 문 리 부데, DB 리는 RDBMS만 PHP럼 , 문 리는 Perl 른 들 등보 런 를 메 . - 변
- 내 PHP 보, JSP Java 봤 대 듯.. JSP Java 번 DB 보는 는 PHP 는 느. DB PHP Java 는데 PHP Oracle 5.x 부 Jsp 됐. 본 면는 뭐 PHP Jsp 는 , 만 및 Jsp 는 java 를 는 . Jsp 면 Junit Unit 를 면 , 디 Visual Studio 디 듯 는 말 . java 를 러 를 .(를 들면 Lucene 바 만 ..). Eclipse 는 Visual Studio 보 더 ..
- 내 무리 말 들 .. 만 번 보 바. 내 는 를 Jsp,Java PHP 만.. 리 를 는 데, 는 눈 방 배 먹 는 능 . 리 면 Lucene 번 놀봐. 리 보 면 MemeHarvester . - namsang
- 내 무리 말 들 .. 만 번 보 바. 내 는 를 Jsp,Java PHP 만.. 리 를 는 데, 는 눈 방 배 먹 는 능 . 리 면 Lucene 번 놀봐. 리 보 면 MemeHarvester . - namsang