Zend - The PHP Company




Graphics

Add Code


Client Server Image Communication  

Type: code fragment
Added by: xpc
Entered: 27/01/2003
Last modified: 03/12/2002
Rating: - (fewer than 3 votes)
Views: 5474
JavaScript and PHP server communication via the document.images object in the html DOM.


 /////////// IMAGE.HTML /////////// 

<html>
<head>
<title>Client Server Image Communication</title>

<style>
.timg    {
    position:absolute;
    z-index:100;
    visibility:hidden;
}
</style>

<script language="javascript" type="text/javascript"> 
    function Date2Time(year,month,day,hour,minute,second){
        var humDate = new Date(Date.UTC(year,
          (stripLeadingZeroes(month)-1),
          stripLeadingZeroes(day),
          stripLeadingZeroes(hour),
          stripLeadingZeroes(minute),
          stripLeadingZeroes(second)));
        return (humDate.getTime()/1000.0);
    }
    function stripLeadingZeroes(input){
        if((input.length > 1) && (input.substr(0,1) == "0"))
            return input.substr(1);
        else
            return input;
    }
</script>

</head>
<body onload="communicate()">

<script>

var StartTime='';
var FinishTime='';
var Url='';
var HostAddr='image.php';
var running = true;
var timer;


function setStartTime(){
    var d = new Date;
    StartTime    =    Date2Time(d.getYear(),d.getMonth(),d.getDay(),d.getHours(),d.getMinutes(),d.getSeconds());
}

function getStartTime(){
    return StartTime;
}

function setFinishTime(){
    var d = new Date;
    FinishTime    =    Date2Time(d.getYear(),d.getMonth(),d.getDay(),d.getHours(),d.getMinutes(),d.getSeconds());
}

function getFinishTime(){
    return FinishTime;
}

function setUrl(){
    Url    =    HostAddr + '?start=' + getStartTime() + '&finish=' + getFinishTime();
}

function getUrl(){
    return Url;
}

function call(){
    document.write ( '<img name="test" src="' + getUrl() + '"/>' );
}

setStartTime();
setUrl();
call();

var nodes=document.getElementsByName('test');
var max = nodes.length;

for(var i=0;i<max;i++){
    var nodeObj = nodes.item(i);
    nodeObj.className='timg';
}

function communicate(){

    setFinishTime();
    setUrl();
    document.images['test'].src    =    getUrl();

    var w    =    document.images['test'].width;
    var h    =    document.images['test'].height;

    if ( w == '20' ) {
        alert ( 'You have been idle too long!' );
        return false;
    }
    else if ( w == '10' ) { 
        alert ( 'Hurry Up time's a wastin'! ' + getStartTime() + ' - ' + getFinishTime() );
    }
    else {
        alert ( w );
    }

    timer = window.setTimeout('communicate()', 1000);

}

function stop() {
    alert('stopping');
    window.clearTimeout(timer);
    running = false;
}

</script>

<FORM>
<INPUT TYPE="BUTTON" VALUE="Stop" onClick="stop()">
</FORM>

</body>
</html>

 /////////// IMAGE.PHP /////////// 

<?PHP

$start    
=    $_GET['start'];
$finish    =    $_GET['finish'];

if ( 
$finish != '' && ( ( $finish $start ) > 30 ) ) {

    
$width    =    20;

} else {

    
$width    =    10;
}

header 'Content-type: image/png' );

$im    =    imagecreate $width 10 );

imagepng $im );

die ( 
imagedestroy $im ) );

?>


Usage Example


See the example


Rate This Script





Search



This Category All Categories