Php > Miscellaneous
PHP Web Server
PHP Web Server
PHP Web server!
"; set_time_limit (0); //Timout, keep at 0 ob_implicit_flush (); //Output data to the web brouser or console as we go $address = '192.168.1.3'; //your ip $port = 80; //Port to listen $sock = socket_create (AF_INET, SOCK_STREAM, 0) or die ("socket_create() failed."); @socket_bind ($sock, $address, $port) or die ("socket_bind() failed"); @socket_listen ($sock, 5) or die("socket_listen() failed"); echo "
Server Started.
"; do { if (($Thesocket = socket_accept($sock)) < 0) { echo "socket_accept() failed: reason: " . socket_strerror ($msgsock) . "\n"; break; } if (FALSE === ($buf = socket_read ($Thesocket, 2048))) { echo "socket_read() failed: reason: " . socket_strerror ($ret) . "\n"; break 2; } $some = substr ( $buf, 4, strlen($buf)); $rest = strstr ( $some, " "); $request = substr ( $some, 0 , strlen($some) - strlen($rest)); if($request == "/Down") die ("
Server Shut Down.
"); if($request == "/"){ $request = "\index.html"; $mime = "text/html"; } else { $rev = strrev($request); $dot = strstr ( $rev, "."); $GetEX = substr ( $request, strlen($dot), strlen($request) - strlen($dot)); switch ( $GetEX ) { case $GetEX == "gif": $mime = "image/gif"; break; case $GetEX == "jpg": $mime = "image/jpeg"; break; case $GetEX == "zip": $mime = "aplication/zip"; break; case $GetEX == "exe": $mime = "aplication/exe"; break; case $GetEX == "bmp": $mime = "image/bmp"; break; case $GetEX == "mov": $mime = "video/quicktime"; break; case $GetEX == "mp3": $mime = "video/mpeg"; break; case $GetEX == "mpeg": $mime = "video/mpeg"; break; case $GetEX == "txt": $mime = "text/plain"; break; default: $mime = "text/html"; break; } } $request = ereg_replace ( "/", "//", $request); $content = ""; $filename = "C:\html\phpserver" .$request; $fd = @fopen ($filename, "rb"); if ($fd){ $content = fread ($fd, filesize ($filename)); fclose ($fd); } if( $content == "" ){ $lens = strlen($content); $datas = "HTTP/1.0 404 OBJECT NOT FOUND\r\nServer: Server 3.2PHP\r\nDate: 8/01/02\r\nConnection: close\r\nContent-Length: $lens\r\nContent-Type: text/html\r\n\r\n$content"; socket_write ($Thesocket, $datas, strlen ($datas)); } else { $lens = filesize ($filename); $today = date("m.d.y"); $datas = "HTTP/1.0 200 OK\r\nServer: Server 3.2PHP\r\nDate: $today\r\nConnection: close\r\nContent-Length: $lens\r\nContent-Type: $mime\r\n\r\n"; socket_send ($Thesocket, $datas, strlen ($datas), 0); $S = 0; $copyD = ""; $DD = filesize ($filename); while($S <= $DD){ $TempD = substr( $content, $S, 2048); $S += 2048; socket_write ($Thesocket, $TempD, strlen ($TempD)); } } echo "
$buf
\r\n
\r\n"; socket_close ($Thesocket); } while (true); socket_close ($sock); ?>
Php Codes
Algorithms
Arrays
Authentication
Calendar
Code Snippets
Programs
Content Manage
Contest Related
Cookies
Credit Cards
DBase Related
Databases
Date Time
Directories
E-Mail
Errors
File
File System
Forms
Handling
Graphics
HTML and PHP
Informix
Ingres
InterBase
LDAP
Look and Feel
Miscellaneous
MySQL
Other
PHP Classes
Searching
Navigation
Statistics
Strings
User Manage