Your IP : 216.73.216.40


Current Path : /var/www/html/mmishra/irp/nweb/
Upload File :
Current File : /var/www/html/mmishra/irp/nweb/webserver.php

<?php
echo "\nDemo Web server!\n"; 

include("icdp.inc.php");

error_reporting(E_ALL);
set_time_limit(0); //Timout, keep at 0 
date_default_timezone_set('Asia/Calcutta');

ob_implicit_flush(); //Output data to the web brouser or console as we go 

$address = '172.31.1.8'; //your ip 
$port = 8080; //Port to listen 
//$address = 'localhost';//'172.26.23.161'; //your ip 
//$port = 80; //Port to listen 
//$wwwroot = "/Users/indem/Sites/nweb/www/";
$wwwroot = "/var/www/html/nweb/www/";

$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 "\nDemo Web Server with Obsolescence Filtering Feature Started on ". date('d-M-Y H:n:s') .".\n\nWaiting for incoming HTTP request...\n\n"; 

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 ("\nServer Shut Down.\n"); 

    	if (!$request) $request = "index.html";
    	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 = str_replace("//", "/", $request); 

    	$content = ""; 
    	//$filename = "C:\html\phpserver" .$request; 
    	$filename = $wwwroot . $request; 

    	$fd = @fopen($filename, "rb"); 
    	if ($fd) { 
        	$content = fread($fd, filesize($filename)); 
        	fclose($fd); 
    	} 

	    //filter web obsolescence
        //$content = filterExpiry($content);
        $content = filterObsolete($content);
	
    	if($content == "") { 
        	$lens = strlen($content); 
        	$datas = "HTTP/1.0 404 OBJECT NOT FOUND\r\nServer: MicahServer 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); 
        	$lens = strlen($content); 
        	$today = date("m.d.y"); 
        	$datas = "HTTP/1.0 200 OK\r\nServer: MicahServer 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; 
        	//$DD = filesize($filename); 
        	$DD = strlen($content); 

        	while($S <= $DD){ 
            		$HTML = substr($content, $S, 2048); 
			$S += 2048; 
            		socket_write($Thesocket, $HTML, strlen($HTML)); 
        	} 
    	} 

    	echo "$buf\r\n\r\n"; 
    	socket_close($Thesocket); 

} while(true); 
socket_close($sock);  

?>