Ik heb het volgende scriptje staan op mijne computer, waar het perfect werkt.
Het scriptje haalt om de zoveel tijd een nieuwe afbeelding op van de webcam, intussentijd word het laatst opgehaalde beeldje getoond.
Echter verbiedt mijn server blijkbaar mijn scriptje.
verschil is wel dat ik php5 heb en zij php 4
Is er een manier om toch mijn webcam beeld op deze manier te laten ophalen?
*Als je het opgslagen beeldje opslaat met een ip-adress zou dit script voor meer dan 1 webcam kunnen dienen.
De fout die men server uitspuuwt
Het scriptje haalt om de zoveel tijd een nieuwe afbeelding op van de webcam, intussentijd word het laatst opgehaalde beeldje getoond.
Echter verbiedt mijn server blijkbaar mijn scriptje.
verschil is wel dat ik php5 heb en zij php 4
Is er een manier om toch mijn webcam beeld op deze manier te laten ophalen?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| <?php //ob_start(); //just in case we would need an output buffer //error_reporting(0); // SUPPRESS ALL ERRORS (protect output) $camurl="http://87.211.24.181/image.jpg"; //Adress of webcam-image MJPEG/ JPEG $update = 0; //Time in miliseconds before capturing new image $log = 'webcam.txt'; //Logfile (keep time of last update) $image = 'webcam.jpg'; //Image to redistribute from server ( faster & less bandwidth on webcam ) $now = time(); //Current TIME //***************************************************************************************************** if ( file_exists( $log ) && file_exists( $image ) ) // CHECK FILES, UPDATE LOG { $fplog = fopen ( $log , "r+" ); $lastupdate = fgets ( $fplog , '100%'); rewind( $fplog ); } else { $fplog = fopen ( $log , "w" ); $lastupdate = 0; } if ( abs ( $now - $lastupdate ) >= abs( $update ) ) // UPDATE IMAGE ON SERVER { $imagesrc = grapimage( $camurl ); $fpimage = fopen( $image , "w" ); //windows wb fputs( $fpimage, $imagesrc); fclose( $fpimage ); fputs( $fplog, $now); } fclose ( $fplog ); header("Content-type: image/jpeg"); include('webcam.jpg'); //ob_flush(); function grapimage( $camurl = 'err.jpg' ) { $handle = fopen( $camurl ,"r"); //windows rb if ( !$handle ) $handle = fopen( 'err.jpg' ,"r"); //windows rb $frame = ""; do { $data = fread($handle, 512); // 512 - 8192 if (strlen($data) == 0) { break; } $frame .= $data; } while(true); fclose( $handle ); $boundary="\n--"; $start = strpos( $frame ,'ÿ');//Begin of normal JPG (for mjpg conversion) $end = strpos( $frame ,$boundary,$start)-1; $frame = substr( "$frame",$start,$end - $start); return $frame; } ?> |
*Als je het opgslagen beeldje opslaat met een ip-adress zou dit script voor meer dan 1 webcam kunnen dienen.
De fout die men server uitspuuwt
code:
1
2
3
4
5
6
7
| Warning: fopen(): URL file-access is disabled in the server configuration in /home/www/g4wx3.awardspace.com/beta/webcam/webcam.php on line 43 Warning: fopen(http://87.211.24.181/image.jpg): failed to open stream: no suitable wrapper could be found in /home/www/g4wx3.awardspace.com/beta/webcam/webcam.php on line 43 Warning: fread(): supplied argument is not a valid stream resource in /home/www/g4wx3.awardspace.com/beta/webcam/webcam.php on line 46 Warning: fclose(): supplied argument is not a valid stream resource in /home/www/g4wx3.awardspace.com/beta/webcam/webcam.php on line 54 |